Repository navigation
Version 0.7.0
The MySQL driver was upgraded from mysql_dart 1.2.1 to 3.0.3.
- BREAKING: Queryflow now requires Dart
>= 3.6.0, the minimum supported by
mysql_dart 3.x. - MySQL 9 and
caching_sha2_passwordauthentication support. - JSON columns are decoded correctly.
- Prepared statements are safer and the driver now serializes concurrent calls
on a single connection (FIFO). - Pooled prepared statements use the driver's
withConnectionflow. - Zero dates (
0000-00-00) are returned asnullby default. - No public Queryflow API changes.
0.6.0
- Fix
UPDATEignoring everyWHEREcondition after the first one - Fix
DELETEconcatenating conditions withoutAND/ORand losingOR - Implement
notWherenegation for everyWhereMatcher - Translate
Equals(null)/Different(null)toIS NULL/IS NOT NULL Innow accepts any value type and rejects empty listsUPDATEno longer hardcodes theidcolumn as the primary keyINSERTnow quotes column names and uses dialect placeholdersexecuteTransationkeeps type adapters, schema definitions and loggerMySqlExecutor.executeTransationno longer requires a previous query- Nested transactions now fail with a clear
UnsupportedError insertModelcan run inside a transaction without opening a nested one- Fix schema synchronization on PostgreSQL (
INFORMATION_SCHEMAcasing) - Fix foreign key constraints when adding columns during synchronization
- Fix
initalDatainserts on PostgreSQL (auto increment and placeholders) TypeEnumusesTEXT+CHECKon PostgreSQL instead of an invalidENUM- Synchronization errors are no longer swallowed
- Views are dropped before their tables when
dropTableis used - View synchronization uses the correct schema on PostgreSQL
dropObsoleteColumnsis now opt-in to avoid accidental data losscolumnDefinitionnow preserves nullability, defaults and constraints whencolumnDefinitionnow preserves nullability, defaults and constraints when
adding columns- PostgreSQL executors accept
?placeholders in pooled connections and inside
transactions; the conversion skips quoted strings and dollar-quoted blocks - MySQL pooled prepared statements now run on the same connection that prepared
them close()is idempotent and connections/pools can be reused after closing- PostgreSQL no longer runs
SELECT 1before every query when reusing a healthy
connection insert()now returns the inserted primary key: usesINSERT ... RETURNING
on PostgreSQL, honors explicitly provided keys and accepts aprimaryKey
parameter for tables whose key is notid- Add
executeTransactionandsynchronize;executeTransation/syncronize
are deprecated aliases - Logging is silent by default; pass
debug: trueto enable query logs - Use
lintsinstead offlutter_lints, pin thetestdependency and update
CI to run with the Dart SDK - Add professional documentation at https://docs.page/RafaelBarbosatec/queryflow