Commit Graph
255 Commits
Author SHA1 Message Date
Simon Binder 35c47973ae Stop depending on deprecated build packages 2025-09-18 17:35:03 +02:00
Simon Binder 66fe2ddc96 Migrate to workspace 2025-08-17 16:11:07 +02:00
Simon Binder a37782ef40 Add setup parameter to drift_flutter 2025-07-19 11:02:46 +02:00
Simon Binder fa0305ac8e Fix docs build 2025-07-13 22:36:31 +02:00
Simon Binder 16b459e8bc Include preamble in schema code
Closes https://github.com/simolus3/drift/issues/3593
2025-06-25 20:59:38 -04:00
Simon Binder b38b2723ff Devtools extension: Auto-update streams 2025-06-14 15:22:05 +02:00
Simon Binder b1315754f2 Fix missing import statements for schema code
Closes https://github.com/simolus3/drift/issues/3582
2025-06-08 21:59:17 +02:00
Moshe Dicker 6a67d53f18 rebuild 2025-04-04 20:08:10 +00:00
Simon Binder b8b53b9da1 Fix imports of deprecated SDK libraries 2025-02-13 09:45:37 +01:00
Simon Binder dd61bcf753 Fix new deprecation warning in snippet 2025-02-13 09:25:23 +01:00
Simon Binder 910bc6109a Update web worker example 2025-02-05 18:08:46 +01:00
Simon Binder 0ca679cbd9 Manager references across modular files
Closes https://github.com/simolus3/drift/issues/3446
2025-02-02 12:38:10 +01:00
Simon Binder bda52761aa Sort imports in schema helper by version
Closes https://github.com/simolus3/drift/issues/3448
2025-02-02 11:20:19 +01:00
Simon Binder b1577fb62d Fix missing modular drift outputs
Closes https://github.com/simolus3/drift/issues/3444
2025-01-30 23:46:09 +01:00
Simon Binder b82fb14544 Fix code around type converters 2025-01-19 13:57:02 +01:00
Simon Binder 9b128b8fcf Update drift dependencies in example app 2025-01-12 15:17:39 +01:00
Simon Binder 7f833b48ca Modular manager references (#3399) 2025-01-05 16:24:08 +01:00
Simon Binder 7191459350 Use recommended path in example app 2024-12-29 21:57:53 +01:00
Simon Binder 6a30ee9789 Update dev dependencies 2024-12-18 22:09:47 +01:00
Simon Binder 03eddb5e3e Schema export: Resolve defaults
Closes https://github.com/simolus3/drift/issues/3379
2024-12-18 18:11:18 +01:00
Simon Binder 0f48c51a68 Fix wasm support in drift_flutter 2024-12-18 16:57:00 +01:00
Moshe Dicker 46fde3b782 fix readme 2024-12-12 15:23:57 -05:00
Moshe Dicker 04e451c589 fix migrations tests 2024-12-12 05:54:35 -05:00
Moshe Dicker 3fee25eb11 fix 2024-12-12 05:29:48 -05:00
Moshe Dicker e8e3e497db update for flutter 3.27 2024-12-12 05:24:45 -05:00
Moshe Dicker 2ddc2fa1eb remove debug print 2024-12-11 13:23:30 -05:00
Moshe Dicker a415476d74 fixes 2024-12-11 13:22:33 -05:00
Moshe Dicker c9ee6ff1f9 revert some changes 2024-12-11 13:03:49 -05:00
Moshe Dicker 4bd011439c example app uses migration tooling 2024-12-11 11:44:40 -05:00
Simon Binder dd1bbb9c62 Support runtime schema validation on the web
Closes https://github.com/simolus3/drift/issues/3317
2024-10-30 00:20:05 +01:00
Moshe Dicker 9ba27c459c non-null-refs getter for non-null references (#3311) 2024-10-28 21:57:28 +01:00
Simon Binder a652d32078 Fix analysis warnings in examples 2024-10-23 15:40:29 +02:00
Simon Binder 4c896a58ae Pass language version to formatter 2024-10-23 15:39:01 +02:00
Moshe Dicker 9a8def1ca8 Merge branch 'develop' into fix-related-relations-on-manager 2024-10-10 20:10:08 -04:00
Simon Binder 1f40b14f24 Update migration tests template 2024-10-10 22:15:02 +02:00
Moshe Dicker e4c196a617 update test 2024-10-10 22:15:02 +02:00
Moshe Dicker e99a3e11b2 single test 2024-10-10 22:15:02 +02:00
Moshe Dicker 0f33ffd607 rename testWithDataIntegrity and disable foreign key constraints 2024-10-10 22:15:02 +02:00
Moshe Dicker 1c25b507e6 fix typo 2024-10-10 22:15:01 +02:00
Moshe Dicker d85fe11f9e lints 2024-10-10 22:15:01 +02:00
Moshe Dicker 8aeeb41434 docs & example 2024-10-10 22:15:01 +02:00
Moshe Dicker a833b2b580 rebuild 2024-10-10 14:05:17 -04:00
Simon Binder ab93107224 Fix column references in versioned schema code (#3259)
When a column is defined like this:

```dart
  DateTimeColumn get creationTime => dateTime()
    .check(creationTime.isBiggerThan(Constant(DateTime(2020))))
    .withDefault(Constant(DateTime(2024, 1, 1)))();
```

Our generated code relies on the fact that `creationTime` as a getter is in scope for the copied `check` code (it is because we're generating columns in table classes). With versioned schemas however, we have an optimization that tries to not re-generate column code if it hasn't changed between different schema versions. With this generation mode, columns are no longer in scope for check constraints.

This fix relies on detecting columns in Dart code (so we see that the `creationTime` reference in `check` references a column) and then rewriting these expressions with a `CustomExpression` when generating code:

```dart
i1.GeneratedColumn<DateTime> _column_18(String aliasedName) =>
    i1.GeneratedColumn<DateTime>('birthday', aliasedName, true,
        check: () =>
            i2.ComparableExpr((i0.VersionedTable.col<DateTime>('birthday')))
                .isBiggerThan(i2.Constant(DateTime(1900))),
        type: i1.DriftSqlType.dateTime);
```

Closes https://github.com/simolus3/drift/issues/3219
2024-10-03 14:53:49 +02:00
Moshe Dicker 4f6bc51cc6 Merge pull request #3234 from simolus3/manager_annotate
`annotate` for manager
2024-09-27 05:12:07 -04:00
Moshe Dicker c1e6a0925f chore: rename annotate to computed field 2024-09-25 16:24:16 -04:00
Moshe Dicker 8315cbd9f1 rebuild 2024-09-24 08:57:50 -04:00
Moshe Dicker 5448332747 test: add filter on aggregate tests
chore: rebuild
chore: remove previous optimizations which broke  joins
2024-09-23 23:36:46 -04:00
Moshe Dicker b9fa1c9bc8 chore: rebuild 2024-09-23 23:06:38 -04:00
Moshe Dicker 2b6be0fe8c feat: avoid aggregate footgun with AggregateBuilder 2024-09-22 23:52:14 -04:00
Simon Binder 86e3615318 Update Android code of example app 2024-09-22 22:28:23 +02:00