Commit Graph

407 Commits

Author SHA1 Message Date
Simon Binder 292dd9946d
Port more tests over to new analyzer 2022-10-29 17:30:18 +02:00
Abitofevrything 2106b7010b Pass dialect to SqlTypes methods 2022-10-29 16:36:04 +02:00
Abitofevrything fbff2ceccd Use postgresql boolean type for bool columns 2022-10-29 15:48:45 +02:00
Simon Binder 49470e8361
Support serializing fts5 tablesi n new analyzer 2022-10-29 14:39:28 +02:00
Abitofevrything 52b885c007 Don't export customConstraints in schema file is constraints are empty 2022-10-29 14:22:22 +02:00
Abitofevrything 52d2d908c0 Don't generate empty constraints 2022-10-29 13:37:38 +02:00
Abitofevrything c8d63b845d Generate dialect-specific constraints 2022-10-29 13:16:21 +02:00
Simon Binder fdd1d2c66e
Fix deprecation warnings from analyzer upgrade 2022-10-29 12:17:07 +02:00
Simon Binder e3a29ebbe2
Migrate some tests to new analyzer 2022-10-26 23:09:05 +02:00
Simon Binder 69808525c0
Port over drift lints to new analyzer 2022-10-26 20:36:35 +02:00
Simon Binder 81679b8ff1
Fix formatting some Dart placeholders 2022-10-23 18:13:40 +02:00
Simon Binder f38d56842e
Fix nullability for drift -> sqlparser mapping 2022-10-23 17:46:57 +02:00
Simon Binder 9f48d49cb3
Read primary key in drift files 2022-10-23 17:36:28 +02:00
Simon Binder 75169c9d7e
Read type converters in drift files 2022-10-23 17:15:59 +02:00
Simon Binder 70a88cfe3a
Fix generating array types with new analyzers 2022-10-23 15:52:21 +02:00
Simon Binder e3b6c56f08
Fix syntax error in generated code for queries 2022-10-19 23:35:54 +02:00
Simon Binder 2ec63749f8
New analyzer: Better support for virtual tables 2022-10-18 22:28:53 +02:00
Simon Binder b16b5ad2c2
Merge branch 'develop' into modular-generation 2022-10-18 21:55:43 +02:00
Simon Binder 92bb5a7fa1
Add test and changelog 2022-10-18 20:36:09 +02:00
Alexander Wilde 09951adda6 JsonTypeConverterWithDifferentTypes -> JsonTypeConverter2 2022-10-18 01:06:22 +01:00
Alexander Wilde ff9d419559 Backwards compatible attempt 2022-10-16 00:44:58 +01:00
Alexander Wilde ba28b51125 Decouple JsonTypeConverter from TypeConverter 2022-10-14 19:56:28 +01:00
Simon Binder 81ba7686c7
Generate queries with new analyzer 2022-10-13 22:05:42 +02:00
Simon Binder b16d8f5e3a
Fix generated view code 2022-10-13 19:25:54 +02:00
Simon Binder 189af5d443
View generation wth new analyzer 2022-10-12 01:23:17 +02:00
Simon Binder 3dddbaf467
Merge branch 'develop' into modular-generation 2022-10-10 23:45:48 +02:00
Simon Binder 3d969c787f
Infer generated columns for drift 2022-10-10 23:18:10 +02:00
Simon Binder 0b68d68b6c
New analyzer: Support Dart views 2022-10-10 00:07:00 +02:00
Simon Binder 808f582b08
Release sqlparser and drift_dev 2022-10-06 22:56:25 +02:00
Simon Binder a2e10d9abc
Prepare 2.2.0 release 2022-10-06 13:27:25 +02:00
Simon Binder 470fb49592
Write companions with new analyzer 2022-10-03 17:37:10 +02:00
Simon Binder 1a39c5eb8d
Start emitting data class and table code 2022-10-03 15:04:22 +02:00
Simon Binder ef1b94af1d
Start generating code with new analyzer 2022-10-02 23:15:11 +02:00
Roman Laptev b2796fc77e
[drift_dev] Update analyzer and deprecated methods (#2084) 2022-09-27 21:30:12 +02:00
Simon Binder 8c1a62ae1b
Serialize and read uniqueKeys from schema (#2069) 2022-09-22 17:47:06 +02:00
Simon Binder 28c90b6ffb
Always escape column names
This avoids the performance impact of using a regex in `escapeIfNeeded`.
Closes #2071.
2022-09-22 16:55:36 +02:00
Simon Binder dcdbcb7156
Simple test for new query analyzer 2022-09-18 21:52:36 +02:00
Simon Binder b33ef8a220
Analyze SQL queries 2022-09-18 21:25:46 +02:00
Simon Binder 5947956109
Start generating code from new analysis results 2022-09-17 23:14:52 +02:00
Simon Binder a6caae9d8f
Parse entrypoints in new analyzer 2022-09-17 00:16:53 +02:00
Simon Binder 090a0053f1
Merge branch 'develop' into modular-generation 2022-09-16 20:03:17 +02:00
Fabian Freund cd89379627
Static analysis support for spellfix1 (#2013) 2022-09-16 16:02:39 +02:00
Simon Binder 8e9e7fc291
Use melos to manage packages (#2060) 2022-09-15 23:42:20 +02:00
Simon Binder 24316c80a6
Remove unecessary schema_version assignment 2022-09-13 22:01:00 +02:00
Simon Binder 4da647e8a3
Ignore android_metadata table in schema comparison 2022-09-13 10:38:46 +02:00
Simon Binder 2bd7596de6
New analyzer: Basic query support 2022-09-12 22:56:33 +02:00
Simon Binder e08ccdbcda
New analyzer: Support analyzing drift views 2022-09-12 21:57:19 +02:00
Daniel Brauner 025bb7c44b
Generated functions for returning queries return Iterable<_> instead of List<_> (#2044)
* fix for missing toList

* removed unnecessary toList
2022-09-12 19:05:45 +02:00
Simon Binder ac52957848
Prepare analysis for views 2022-09-11 22:11:12 +02:00
Simon Binder 5508a9f246
Support triggers in new analyzer 2022-09-10 23:50:24 +02:00
Simon Binder aa5cb69799
Support indices in new analyzer 2022-09-10 23:22:39 +02:00
Simon Binder 97ed32f05a
Serialize column constraints 2022-09-10 18:18:39 +02:00
Simon Binder eabf2a1e03
Fix Dart reference analysis in new analyzer 2022-09-10 17:56:25 +02:00
Simon Binder 0f97b42a43
Analyze Dart tables with new analyzer 2022-09-10 16:34:17 +02:00
Simon Binder e88ec41555
More work on Dart table analysis in new analyzer 2022-09-10 01:05:09 +02:00
Simon Binder 1681c83bea
Fix null analysis for Dart views (#2031) 2022-09-08 23:06:00 +02:00
Simon Binder e20d43c07c
Add test for dart file discovery 2022-09-05 23:31:01 +02:00
Simon Binder eb7299c2d5
Stop mentioning `compact_query_methods` (#2036) 2022-09-05 13:54:47 +02:00
Simon Binder c814cfd935
Prepare new test backend for Dart analysis 2022-09-05 13:51:41 +02:00
Simon Binder 61e568104a
Discover dart tables in new analyzer 2022-09-03 23:29:18 +02:00
Simon Binder 9eb15149d7
Serialize drift analysis results 2022-09-01 23:10:54 +02:00
Simon Binder 5637afe35a
Handle simple references in new table analyzer 2022-09-01 20:41:32 +02:00
Simon Binder 009056dc37
Handle equality and hashes for blobs 2022-09-01 18:11:41 +02:00
Simon Binder 13e7fd2b0b
Begin with table analysis in the new analyzer 2022-08-31 23:15:11 +02:00
Simon Binder 0adb398ddc
Merge branch 'develop' into modular-generation 2022-08-31 22:06:21 +02:00
Simon Binder ee66465d47
Avoid leading underscores for local identifiers 2022-08-31 00:59:19 +02:00
Simon Binder 0242ce56ac
Start resolving drift tables in new analyzer 2022-08-30 23:58:36 +02:00
Simon Binder aae09c02b0
Simple tests for pre-analysis step 2022-08-30 22:50:07 +02:00
Simon Binder 2575f36e82
Merge branch 'develop' into modular-generation 2022-08-30 21:20:32 +02:00
Simon Binder ce35a27069
Prepare 2.1.0 release 2022-08-29 22:27:35 +02:00
Konstantin Scheglov b399db78e3
Prepare for separating ClassElement, EnumElement, and MixinElement. (#2025)
* Prepare for separating ClassElement, EnumElement, and MixinElement.

* Improve error UX when casting to ClassElement

Co-authored-by: Simon Binder <oss@simonbinder.eu>
2022-08-29 20:44:09 +02:00
Simon Binder b87e5cae0c
Drift-specific analysis for fts5 tables 2022-08-25 18:50:24 +02:00
Fabian Freund d1e623a0c6 added rtree support 2022-08-23 16:33:23 +03:00
Simon Binder f82ea5936d
Draft for drift file discovery 2022-08-22 22:05:39 +02:00
Simon Binder 5e4a65eace
First draft for intermediate results 2022-08-21 23:45:42 +02:00
Simon Binder a12a2b8086
Prepare minor release 2022-08-21 13:47:00 +02:00
Simon Binder b088537b81
Preprocess step for new analysis runner 2022-08-20 22:54:46 +02:00
North101 a927d3717a
Typealiases and easier defaults for scoped components
Closes #1993.
2022-08-20 00:22:28 +02:00
Simon Binder 7bc0aecf4c
Initial draft of outline model 2022-08-19 22:20:28 +02:00
westito 5a49c9540b
Fix column writer nullability check (#1846) 2022-08-18 21:53:50 +02:00
Simon Binder d205ab9477
Fix typos in changelog 2022-08-18 17:36:36 +02:00
Simon Binder ea1c635da8
Stop generating unecessary null check 2022-08-16 17:36:29 +02:00
Simon Binder 788c95238e
Prepare release 2022-08-16 16:33:15 +02:00
Simon Binder 27ea49137d
Properly read options (#1992) 2022-08-16 16:05:08 +02:00
Simon Binder a21576e02c
Move schema validation test to drift_dev 2022-08-15 21:16:58 +02:00
Simon Binder a89cef5262
Delete old moor packages 2022-08-14 22:57:37 +02:00
Simon Binder 7acb8407f0
Use pubspec_overrides for overrides 2022-08-14 17:21:22 +02:00
Simon Binder 5ece4c7ec0
Merge branch 'latest-release' into develop 2022-08-14 16:42:15 +02:00
Simon Binder 9011137c8e
Fix migration code for virtual tables (#1988) 2022-08-14 15:01:21 +02:00
Simon Binder 8f6878292a
Migrate to `package:lints` 2022-08-13 23:33:05 +02:00
Simon Binder 72fb1fa60c
Fix version constraint in drift_dev 2022-08-13 22:15:40 +02:00
Simon Binder 1035fe9d1d
Bump version numbers 2022-08-13 22:11:20 +02:00
Simon Binder 83c7c1ab43
Remove deprecated options, re-run build 2022-08-13 15:14:09 +02:00
Simon Binder a4fe582f25
Collect documentation for 2.0 release 2022-08-13 14:18:17 +02:00
Simon Binder b9a605ed25
Allow async mappings from SQL to row classes
When existing, custom row classes are used, drift now supports using a
(potentially asynchronous) static method to load them instead of just
a named constructor like before.
Tables are also changed to support the `map` method being async for
cases where that is needed. The same applies to custom queries which
may have to be async now.
2022-08-12 22:55:02 +02:00
Konstantin Shcheglov 23c8502c34 Require analyzer 4.5.0, stop using deprecated APIs. 2022-08-09 16:19:23 -07:00
Simon Binder 092a427a94
Prepare 1.7.1 drift_dev patch release 2022-08-09 23:17:59 +02:00
Simon Binder 2b5fdbc0b1
Upgrade to latest analyzer 2022-08-09 23:16:29 +02:00
Simon Binder 68df9c3197
Upgrade to new analysis plugin API 2022-08-09 22:46:30 +02:00
Simon Binder 1edeb4fe45
Merge pull request #1958 from simolus3/fix-toColumns-null-check
Remove null check when parameter is not nullable in dart
2022-08-08 22:25:19 +02:00
westito 40554c8166 Merge remote-tracking branch 'simolus3/develop' into fix-lint-warning 2022-08-08 11:30:57 +02:00
westito 5c05b4e375
Update drift_dev/lib/src/writer/database_writer.dart
Co-authored-by: Simon Binder <oss@simonbinder.eu>
2022-08-08 11:27:03 +02:00
westito 940ecd2ec4 Merge remote-tracking branch 'simolus3/develop' into fix-toColumns-null-check 2022-08-08 11:18:49 +02:00
Simon Binder 50a65b236a
Upgrade to latest analyzer 2022-08-06 22:11:44 +02:00
Simon Binder 8cc85de5f7
Improve error message for schema difference 2022-08-06 21:35:05 +02:00
westito 26333eafb5 Fix lint warnings when strict type check enabled 2022-08-01 12:15:42 +02:00
westito 4bb36488e1 Remove null check when parameter is not nullable in dart 2022-08-01 12:03:43 +02:00
Simon Binder c69b34278b
Fix overly long line 2022-07-29 19:05:42 +02:00
Simon Binder cf95ed6f05
Re-generate migration tests in app example 2022-07-29 18:54:41 +02:00
Simon Binder 0cb3527680
Schema tool: Store whether dates are text 2022-07-26 19:18:17 +02:00
Simon Binder 9158c31240
Respect db options in runtime schema validation 2022-07-26 18:33:09 +02:00
Simon Binder d79c7e07ba
Lints for probable text datetime misuses 2022-07-25 20:58:39 +02:00
Simon Binder 6c0e27b24c
SQL analysis for text datetimes 2022-07-24 19:19:18 +02:00
Simon Binder 592e2cdd5d
Add build option for dates as text 2022-07-24 17:50:48 +02:00
Simon Binder efb4c5f503
Fix deprecation warning 2022-07-23 23:20:07 +02:00
Simon Binder 867f8cbfed
Remove drift_dev's ColumnType 2022-07-21 21:12:55 +02:00
Alexander Wilde e12021150e Fix generated fromJson for nullable columns with a JsonTypeConverters 2022-07-21 17:33:23 +01:00
Simon Binder 3744fa0601
Merge branch 'develop' into refactor-type-system 2022-07-20 22:37:34 +02:00
ValentinVignal 1b001e5fa0 🚚 Move gitignore to root 2022-07-20 09:14:14 +08:00
Simon Binder 9325af9c0e
Fix another test in drift_dev 2022-07-19 23:23:43 +02:00
Simon Binder a8c6031fc4
Add documentation comments, fix analysis warnings 2022-07-19 23:01:22 +02:00
Simon Binder 22d5f0a8ae
Fix tests 2022-07-19 22:55:08 +02:00
ValentinVignal 9bd2486c85 Add a test to make sure data classes and companion classes are using a const constructor 2022-07-19 23:21:05 +08:00
ValentinVignal f440f1c91a :see_no_devil: gitignore build/ 2022-07-19 18:03:19 +08:00
ValentinVignal aab2b38f21 ✏️ Fix typo 2022-07-19 09:54:10 +08:00
ValentinVignal c380d16aa1 Use const constructor for immutable classes 2022-07-19 09:53:59 +08:00
Simon Binder cf8d2618fa
First attempt to get it running again 2022-07-18 23:28:12 +02:00
Simon Binder 8d840f3eb3
Remove includeJoinedTableColumns entirely 2022-07-16 12:07:12 +02:00
Simon Binder 1af6bb78d9
Start removing the SqlTypeSystem class 2022-07-12 17:04:01 +02:00
Simon Binder 388b31e9ea
Remove some moor references in drift_dev 2022-07-03 22:20:24 +02:00
Simon Binder 116f98269d
Always enable the new SQL generation mode 2022-07-03 21:53:17 +02:00
Simon Binder 6049d1aaa0
Add test for #1902 2022-07-01 22:56:25 +02:00
Simon Binder 52c07c9d3f
Remove support for non-nnbd code 2022-07-01 21:51:14 +02:00
Alexander Wilde 5388a03fc6 Update innerColumnType comment 2022-06-29 12:18:40 +01:00
Alexander Wilde 6f6eaadf28 Fix non-null JsonTypeConverter 2022-06-29 11:27:27 +01:00
Simon Binder 1b06fcfc77
Merge branch 'develop' into fix-tests 2022-06-28 23:05:22 +02:00
Simon Binder bfad77788e
Handle nullable converters for compiled queries 2022-06-28 22:34:11 +02:00
westito 292da80167 Regenerate all files 2022-06-28 13:24:57 +02:00
Simon Binder 5317d0a33b
Upgrade to new analysis plugin API 2022-06-23 22:46:23 +02:00
Simon Binder 8a68527fee
Merge remote-tracking branch 'North101/develop' into develop 2022-06-23 21:01:07 +02:00
Simon Binder cf1e94d384
Automatically make some converters nullable 2022-06-23 20:56:56 +02:00
Alexander Wilde 345faa91c7 TypeConverter mapToDart -> fromSql, mapToSql -> toSql 2022-06-22 23:50:19 +01:00
Simon Binder 06af930941
Explicit null-aware types on type converters 2022-06-22 23:56:15 +02:00
Simon Binder 52f95bb61d
Merge pull request #1888 from Mike278/bugfix/analyzer-4.1.0
Depend on analyzer 4.1.0 for 'isNotOptional' -> 'isRequired' deprecation
2022-06-14 23:02:57 +02:00
Mike278 561dda4379 Depend on analyzer 4.1.0 for 'isNotOptional' -> 'isRequired' deprecation 2022-06-14 15:57:58 -04:00
Simon Binder 7be4e90569
Exclude internal tables from schema verification 2022-06-10 11:02:52 +02:00
Simon Binder 9af708773c
Prepare 1.7.0 release 2022-06-07 14:39:45 +02:00
westito a816c1aac2 Fix typeconverter-depend nullability in DataClass copyWidth 2022-05-30 13:25:18 +02:00
Simon Binder e503bc68a5
New implementation for reference scopes 2022-05-25 23:32:15 +02:00
Simon Binder df0f4c5e06
Adapt error message in expectation 2022-05-25 17:02:35 +02:00