drift 1.4.0 drift: ^1.4.0 copied to clipboard
Drift is a reactive library to store relational data in Dart and Flutter applications.
1.4.0 #
- Most methods to compose statements are now available as an extension on
tables. As an alternative to
update(todos).replace(newEntry)
, you can now writetodos.replaceOne(newEntry)
. - Deprecate the
from(table)
API introduced in 1.3.0. Having the methods on the table instances turned out to be even easier! - In drift files, you can now use
LIST(SELECT ...)
as a result column to get all results of the inner select as aList
in the result set.
1.3.0 #
- Add the
from(table)
method to generated databases. It can be used to write common queries more concisely. - Make
groupConcat
nullable in the Dart API. - Throw an exception in a
NativeDatabase
when multiple statements are run in a single call. In previous versions, parts of the SQL string would otherwise be ignored. - Close the underlying database when a drift isolate is shut down.
1.2.0 #
- Properly support stream update queries on views.
- Reading blobs from the database is more lenient now.
- Provide a stack trace when
getSingle()
orwatchSingle()
is used on a query emitting more than one row.
1.1.1 #
- Rollback transactions when a commit fails.
- Revert a change from 1.1.0 to stop serializing messages over isolates.
Instead, please set the
serialize
parameter tofalse
on theDriftIsolate
methods.
1.1.0 #
- Add the
references
method toBuildColumn
to reference a column declared in another Dart table. - Add the
generateInsertable
option to@UseRowClass
. When enabled, the generator will emit an extension to use the row class as anInsertable
. Thanks to @westito. - Allow the generator to emit correct SQL code when using arrays with the
new_sql_code_generation
option in specific scenarios. - Add support for strict tables in
.drift
files. - Add the
generatedAs
method to declare generated columns for Dart tables. - Add
OrderingTerm.random
to fetch rows in a random order. - Improved support for pausing query stream subscriptions. Instead of buffering events, query streams will suspend fetching data if all listeners are paused.
- Drift isolates no longer serialize messages into a primitive format. This will reduce the overhead of using isolates with Drift.