diff --git a/drift_dev/CHANGELOG.md b/drift_dev/CHANGELOG.md index 36ba0f3f..38bf8952 100644 --- a/drift_dev/CHANGELOG.md +++ b/drift_dev/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.3-dev + +- Consider `drift`-named files when generating schema migrations ([#1486](https://github.com/simolus3/moor/issues/1486)) + ## 1.0.2 - Also transform `analysis_options.yaml` files in the `drift_dev migrate` command. diff --git a/drift_dev/lib/src/cli/cli.dart b/drift_dev/lib/src/cli/cli.dart index 0d0041fa..337184b7 100644 --- a/drift_dev/lib/src/cli/cli.dart +++ b/drift_dev/lib/src/cli/cli.dart @@ -81,4 +81,9 @@ class FatalToolError implements Exception { final String message; FatalToolError(this.message); + + @override + String toString() { + return 'Fatal error: $message'; + } } diff --git a/drift_dev/lib/src/cli/commands/schema/generate_utils.dart b/drift_dev/lib/src/cli/commands/schema/generate_utils.dart index 519bdf8e..17afc7fd 100644 --- a/drift_dev/lib/src/cli/commands/schema/generate_utils.dart +++ b/drift_dev/lib/src/cli/commands/schema/generate_utils.dart @@ -222,7 +222,7 @@ class GenerateUtilsCommand extends Command { String _filenameForVersion(int version) => 'schema_v$version.dart'; - static final _filenames = RegExp(r'moor_schema_v(\d+)\.json'); + static final _filenames = RegExp(r'(?:moor|drift)_schema_v(\d+)\.json'); static final _dartfmt = DartFormatter(); static const _prefix = '// GENERATED CODE, DO NOT EDIT BY HAND.'; } diff --git a/extras/migrations_example/moor_migrations/moor_schema_v1.json b/extras/migrations_example/drift_migrations/drift_schema_v1.json similarity index 100% rename from extras/migrations_example/moor_migrations/moor_schema_v1.json rename to extras/migrations_example/drift_migrations/drift_schema_v1.json diff --git a/extras/migrations_example/moor_migrations/moor_schema_v2.json b/extras/migrations_example/drift_migrations/drift_schema_v2.json similarity index 100% rename from extras/migrations_example/moor_migrations/moor_schema_v2.json rename to extras/migrations_example/drift_migrations/drift_schema_v2.json diff --git a/extras/migrations_example/moor_migrations/moor_schema_v3.json b/extras/migrations_example/drift_migrations/drift_schema_v3.json similarity index 100% rename from extras/migrations_example/moor_migrations/moor_schema_v3.json rename to extras/migrations_example/drift_migrations/drift_schema_v3.json diff --git a/extras/migrations_example/moor_migrations/moor_schema_v4.json b/extras/migrations_example/drift_migrations/drift_schema_v4.json similarity index 100% rename from extras/migrations_example/moor_migrations/moor_schema_v4.json rename to extras/migrations_example/drift_migrations/drift_schema_v4.json diff --git a/extras/migrations_example/test/generated/schema.dart b/extras/migrations_example/test/generated/schema.dart index 161f60e4..7a4d46f0 100644 --- a/extras/migrations_example/test/generated/schema.dart +++ b/extras/migrations_example/test/generated/schema.dart @@ -2,25 +2,25 @@ //@dart=2.12 import 'package:drift/drift.dart'; import 'package:drift_dev/api/migrations.dart'; -import 'schema_v1.dart' as v1; import 'schema_v2.dart' as v2; import 'schema_v3.dart' as v3; import 'schema_v4.dart' as v4; +import 'schema_v1.dart' as v1; class GeneratedHelper implements SchemaInstantiationHelper { @override GeneratedDatabase databaseForVersion(QueryExecutor db, int version) { switch (version) { - case 1: - return v1.DatabaseAtV1(db); case 2: return v2.DatabaseAtV2(db); case 3: return v3.DatabaseAtV3(db); case 4: return v4.DatabaseAtV4(db); + case 1: + return v1.DatabaseAtV1(db); default: - throw MissingSchemaException(version, const {1, 2, 3, 4}); + throw MissingSchemaException(version, const {2, 3, 4, 1}); } } } diff --git a/extras/migrations_example/test/generated/schema_v1.dart b/extras/migrations_example/test/generated/schema_v1.dart index cd1f6430..e562f49f 100644 --- a/extras/migrations_example/test/generated/schema_v1.dart +++ b/extras/migrations_example/test/generated/schema_v1.dart @@ -5,8 +5,7 @@ import 'package:drift/drift.dart'; class UsersData extends DataClass implements Insertable { final int id; UsersData({required this.id}); - factory UsersData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory UsersData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return UsersData( id: const IntType() @@ -118,7 +117,7 @@ class Users extends Table with TableInfo { Set get $primaryKey => {id}; @override UsersData map(Map data, {String? tablePrefix}) { - return UsersData.fromData(data, _db, + return UsersData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } diff --git a/extras/migrations_example/test/generated/schema_v2.dart b/extras/migrations_example/test/generated/schema_v2.dart index 658eb875..7f2b812e 100644 --- a/extras/migrations_example/test/generated/schema_v2.dart +++ b/extras/migrations_example/test/generated/schema_v2.dart @@ -6,8 +6,7 @@ class UsersData extends DataClass implements Insertable { final int id; final String name; UsersData({required this.id, required this.name}); - factory UsersData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory UsersData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return UsersData( id: const IntType() @@ -141,7 +140,7 @@ class Users extends Table with TableInfo { Set get $primaryKey => {id}; @override UsersData map(Map data, {String? tablePrefix}) { - return UsersData.fromData(data, _db, + return UsersData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } diff --git a/extras/migrations_example/test/generated/schema_v3.dart b/extras/migrations_example/test/generated/schema_v3.dart index 85073a44..11837e27 100644 --- a/extras/migrations_example/test/generated/schema_v3.dart +++ b/extras/migrations_example/test/generated/schema_v3.dart @@ -6,8 +6,7 @@ class UsersData extends DataClass implements Insertable { final int id; final String name; UsersData({required this.id, required this.name}); - factory UsersData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory UsersData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return UsersData( id: const IntType() @@ -141,7 +140,7 @@ class Users extends Table with TableInfo { Set get $primaryKey => {id}; @override UsersData map(Map data, {String? tablePrefix}) { - return UsersData.fromData(data, _db, + return UsersData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -164,8 +163,7 @@ class GroupsData extends DataClass implements Insertable { required this.title, this.deleted, required this.owner}); - factory GroupsData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory GroupsData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return GroupsData( id: const IntType() @@ -362,7 +360,7 @@ class Groups extends Table with TableInfo { Set get $primaryKey => {id}; @override GroupsData map(Map data, {String? tablePrefix}) { - return GroupsData.fromData(data, _db, + return GroupsData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } diff --git a/extras/migrations_example/test/generated/schema_v4.dart b/extras/migrations_example/test/generated/schema_v4.dart index a37b3d13..112d5c18 100644 --- a/extras/migrations_example/test/generated/schema_v4.dart +++ b/extras/migrations_example/test/generated/schema_v4.dart @@ -6,8 +6,7 @@ class UsersData extends DataClass implements Insertable { final int id; final String name; UsersData({required this.id, required this.name}); - factory UsersData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory UsersData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return UsersData( id: const IntType() @@ -143,7 +142,7 @@ class Users extends Table with TableInfo { Set get $primaryKey => {id}; @override UsersData map(Map data, {String? tablePrefix}) { - return UsersData.fromData(data, _db, + return UsersData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); } @@ -166,8 +165,7 @@ class GroupsData extends DataClass implements Insertable { required this.title, this.deleted, required this.owner}); - factory GroupsData.fromData(Map data, GeneratedDatabase db, - {String? prefix}) { + factory GroupsData.fromData(Map data, {String? prefix}) { final effectivePrefix = prefix ?? ''; return GroupsData( id: const IntType() @@ -364,7 +362,7 @@ class Groups extends Table with TableInfo { Set get $primaryKey => {id}; @override GroupsData map(Map data, {String? tablePrefix}) { - return GroupsData.fromData(data, _db, + return GroupsData.fromData(data, prefix: tablePrefix != null ? '$tablePrefix.' : null); }