All notable changes will be documented in this file.
The format is loosely based on Keep a Changelog, and this project adheres to Semantic Versioning.
- changed: raise if an in memory database is opened with a pool_size != 1
- added: Support for DDL transactions.
- fixed: Handle binary uuid casting when
binary_id
is specified.
- fixed: Handle unique cosntraint error formats.
- changed: Updated depenendencies.
- added: Missing support for
Date
type.
- fixed: Ignore bad
init
file when usingdump_cmd/3
-
changed: Add support for Ecto
v3.10
-
changed: Bring SQLite closer to the Postgres adapter implementation
-
changed: Enable
AUTOINCREMENT
forserial
andbigserial
. -
changed: breaking Add support for sqlite strict mode.
With sqlite strict mode support being added, the following field "types" were altered.
TEXT_DATETIME
=>TEXT
TEXT_UUID
=>TEXT
: This is when:binary_id_type
is:string
UUID
=>BLOB
: This is when:binary_id_type
is:binary
This is a breaking change in the sense that rebuilding the schema from scratch will cause those columns to show up differently. Under the hood sqlite does not actually care.
We kept
TEXT_DATETIME
to satisfy the old Ecto2 implementation to keep backwards compatibility. -
changed: breaking Raise when table prefixes are used.
- changed: Use
Connection.connect
instead ofSqlite3.open
.
- fixed: Added
dump_cmd/3
- fixed: Added
query_many/4
- fixed:
exists()
expression building.
- changed: Allow
FROM
hints to be used.
- changed: Set minimum elixir version to
~> 1.11
- added: Allow index hints on joins.
- added: Allow datetime type to be configurable.
- fixed: issue with missing space in
EXPLAIN QUERY PLAN
.
- changed: explain query to
EXPLAIN QUERY PLAN
.
- fixed: generate
binary_id
values according to thebinary_id_type
config.
- fixed: double encoding of a string when converting to json.
- added: information to the help docs about utilizing
exqlite
with database encryption. - changed: raise more meaningful error when an expression fails to match. Backported from ecto_sql#362.
- added:
:time
decode support.
- fixed: Backport of default drops to
:restrict
are now backwards compatible with older versions ofecto_sql
. We don't really have support fordrop index ... cascade
as it is not in the grammer of sqlite.
- changed: update dependencies to the latest.
- changed: drop support for OTP 20. It is not supported by
telemetry
and won't compile. For now we will just support Elixir 1.8 and OTP 21.
- changed: UUID encoding for both
:binary_id
and:uuid
/Ecto.UUID
is now configurable - changed:
:uuid
/Ecto.UUID
is now encoded as a string by default
- changed:
:utc_datetime
handling has been updated to completely remove theZ
supplied and made to conform closer to what is done for Postgrex and MyXQL. #49 - changed: updated error message for OTP24
- changed: prepared statements can now be released manually.
- changed: added ability to specify
:asc_nulls_last
,:asc_nulls_first
,:desc_nulls_last
, and:desc_nulls_first
.
- fixed: double quote missing from sql query generation.
- added:
:check
constraint column option. - fixed: "database is locked" issue by setting
journal_mode
atstorage_up
time.
- changed: upgrade
ecto_sql
dependency to `3.6.0`` - changed: removed old
Ecto.Adapters.SQLite3.Connection.insert/6
was replaced withEcto.Adapters.SQLite3.Connection.insert/7
.
- added:
collate:
opts support to:string
column type
- changed: updated exqlite to
0.5.0
- changed: updated documentation
- changed: updated git repository url
- initial release.