sql_engine 1.0.6
sql_engine: ^1.0.6 copied to clipboard
A thin yet powerful SQLite layer for Dart & Flutter.
1.0.6 - 2025-05-04 #
Added #
enableLog
parameter toSqlEngineDatabase
constructor. This allows consumers of the package to disable or control logging, instead of relying on a global compile-time flag.final db = SqlEngineDatabase(enableLog: false);
[1.0.5] – 2025‑05‑03 #
Fixed #
- Mapper code‑gen
- Removed illegal trailing
?
intoRow()
for nullable fields (e.g. now emits
'locationLat': locationLat,
instead of'locationLat': locationLat?,
). - Null‑safe write for
DateTime
(createdAt?.millisecondsSinceEpoch
) and forbool
(male == true ? 1 : null
).
- Removed illegal trailing
Added #
@SqlIndex
annotation- Define one or more indexes per table.
@SqlIndex(name: 'idx_user_email', columns: ['email'])
- Generator now outputs a
createIndexes
list inside each*Table
class. _onCreate()
automatically executes allCREATE INDEX
statements after tables are created.
- Define one or more indexes per table.
Migration #
No breaking API changes. Re‑run build_runner
to regenerate code and
indexes will be created automatically the next time the database is
initialized.
1.0.4 - 2025-05-03 #
Added #
- Introduced
@SqlIndex
annotation for defining named indexes on tables. - Generator now reads and embeds indexes as part of the generated table class.
- Database applies all defined indexes automatically during
open()
on initial creation. - Added
createIndexes
override inSqlEngineTable
to allow per-table index registration. - Added test support:
- Verify index creation using
PRAGMA index_list
. - Verify index usage via
EXPLAIN QUERY PLAN
.
- Verify index creation using
Tests #
- New tests verify:
- Index is present (
PRAGMA index_list
) - Index is used (
EXPLAIN QUERY PLAN … USING INDEX
)
- Index is present (
Example usage #
@SqlTable(tableName: 'users', version: 1)
@SqlIndex(name: 'idx_user_name', columns: ['name'])
class User { ... }
1.0.3 #
- Fixed analysis error.
- Added license