diff --git a/drift_dev/bin/drift.dart b/drift_dev/bin/drift_dev.dart similarity index 89% rename from drift_dev/bin/drift.dart rename to drift_dev/bin/drift_dev.dart index 6ae44aae..2c44c744 100644 --- a/drift_dev/bin/drift.dart +++ b/drift_dev/bin/drift_dev.dart @@ -1,4 +1,4 @@ -//@dart=2.9 +// @dart=2.9 import 'package:drift_dev/src/cli/cli.dart' as cli; Future main(List args) { diff --git a/drift_dev/lib/src/cli/commands/migrate.dart b/drift_dev/lib/src/cli/commands/migrate.dart index 86e76998..399b8ecc 100644 --- a/drift_dev/lib/src/cli/commands/migrate.dart +++ b/drift_dev/lib/src/cli/commands/migrate.dart @@ -295,6 +295,9 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor { break; case 'moor_generator': newPackage = 'drift_dev'; + break; + default: + return; } final driftImport = 'package:$newPackage/$path'; 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 67ec19e0..519bdf8e 100644 --- a/drift_dev/lib/src/cli/commands/schema/generate_utils.dart +++ b/drift_dev/lib/src/cli/commands/schema/generate_utils.dart @@ -86,7 +86,7 @@ class GenerateUtilsCommand extends Command { ); } - await _writeLibraryFile(outputDir, schema.keys, isNnbd); + await _writeLibraryFile(outputDir, schema.keys, isNnbd, isForMoor); print( 'Wrote ${schema.length + 1} files into ${p.relative(outputDir.path)}'); } @@ -150,17 +150,22 @@ class GenerateUtilsCommand extends Command { generationOptions: GenerationOptions( forSchema: version, nnbd: nnbd, - writeCompanions: dataClasses, - writeDataClasses: companions, + writeCompanions: companions, + writeDataClasses: dataClasses, writeForMoorPackage: isForMoor, ), ); final file = File(p.join(output.path, _filenameForVersion(version))); - writer.leaf() + final leaf = writer.leaf() ..writeln(_prefix) - ..writeDartVersion(nnbd) - ..writeln("import 'package:moor/moor.dart';"); + ..writeDartVersion(nnbd); + + if (isForMoor) { + leaf.writeln("import 'package:moor/moor.dart';"); + } else { + leaf.writeln("import 'package:drift/drift.dart';"); + } final db = Database( declaredQueries: const [], @@ -172,13 +177,21 @@ class GenerateUtilsCommand extends Command { return file.writeAsString(_dartfmt.format(writer.writeGenerated())); } - Future _writeLibraryFile( - Directory output, Iterable versions, bool nnbd) { + Future _writeLibraryFile(Directory output, Iterable versions, + bool nnbd, bool useMoorImports) { final buffer = StringBuffer() ..writeln(_prefix) - ..writeDartVersion(nnbd) - ..writeln("import 'package:moor/moor.dart';") - ..writeln("import 'package:drift_dev/api/migrations.dart';"); + ..writeDartVersion(nnbd); + + if (useMoorImports) { + buffer + ..writeln("import 'package:moor/moor.dart';") + ..writeln("import 'package:moor_generator/api/migrations.dart';"); + } else { + buffer + ..writeln("import 'package:drift/drift.dart';") + ..writeln("import 'package:drift_dev/api/migrations.dart';"); + } for (final version in versions) { buffer.writeln("import '${_filenameForVersion(version)}' as v$version;"); diff --git a/drift_dev/lib/src/utils/options_reader.dart b/drift_dev/lib/src/utils/options_reader.dart index cad6a5a1..6db5a7c2 100644 --- a/drift_dev/lib/src/utils/options_reader.dart +++ b/drift_dev/lib/src/utils/options_reader.dart @@ -8,7 +8,10 @@ Future fromRootDir(String path) async { MoorOptions readOptionsFromConfig(BuildConfig config) { final options = config.buildTargets.values - .map((t) => t.builders['moor_generator:moor_generator']?.options) + .map((t) { + return t.builders['moor_generator:moor_generator']?.options ?? + t.builders['drift_dev:drift_dev']?.options; + }) .whereType() .map((json) => MoorOptions.fromJson(json)); diff --git a/extras/migrations_example/README.md b/extras/migrations_example/README.md index 404991ca..99cf7fa3 100644 --- a/extras/migrations_example/README.md +++ b/extras/migrations_example/README.md @@ -9,7 +9,7 @@ See `test/migration_test.dart` on how to use the generated verification code. After adapting a schema and incrementing the `schemaVersion` in the database, run ``` -dart run moor_generator schema dump lib/database.dart moor_migrations/moor_schema_v2.json +dart run drift_dev schema dump lib/database.dart moor_migrations/moor_schema_v2.json ``` Replace `_v2` with the current `schemaVersion`. @@ -19,5 +19,5 @@ Replace `_v2` with the current `schemaVersion`. Run ``` -dart run moor_generator schema generate moor_migrations/ test/generated/ +dart run drift_dev schema generate moor_migrations/ test/generated/ --data-classes --companions ``` diff --git a/extras/migrations_example/build.yaml b/extras/migrations_example/build.yaml index 11e0038a..5b8e9ad0 100644 --- a/extras/migrations_example/build.yaml +++ b/extras/migrations_example/build.yaml @@ -1,6 +1,6 @@ targets: $default: builders: - moor_generator: + drift_dev: options: generate_connect_constructor: true \ No newline at end of file diff --git a/extras/migrations_example/lib/database.dart b/extras/migrations_example/lib/database.dart index 0cb50b37..22ecea23 100644 --- a/extras/migrations_example/lib/database.dart +++ b/extras/migrations_example/lib/database.dart @@ -1,10 +1,10 @@ -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'tables.dart'; part 'database.g.dart'; -@UseMoor(include: {'tables.moor'}) +@DriftDatabase(include: {'tables.drift'}) class Database extends _$Database { @override int get schemaVersion => 4; diff --git a/extras/migrations_example/lib/database.g.dart b/extras/migrations_example/lib/database.g.dart index 675df8d0..d5c407ca 100644 --- a/extras/migrations_example/lib/database.g.dart +++ b/extras/migrations_example/lib/database.g.dart @@ -38,7 +38,7 @@ class User extends DataClass implements Insertable { factory User.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return User( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), @@ -46,7 +46,7 @@ class User extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), @@ -67,7 +67,7 @@ class User extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, name.hashCode)); + int get hashCode => Object.hash(id, name); @override bool operator ==(Object other) => identical(this, other) || @@ -224,7 +224,7 @@ class Group extends DataClass implements Insertable { factory Group.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return Group( id: serializer.fromJson(json['id']), title: serializer.fromJson(json['title']), @@ -234,7 +234,7 @@ class Group extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'title': serializer.toJson(title), @@ -261,8 +261,7 @@ class Group extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, - $mrjc(title.hashCode, $mrjc(deleted.hashCode, owner.hashCode)))); + int get hashCode => Object.hash(id, title, deleted, owner); @override bool operator ==(Object other) => identical(this, other) || diff --git a/extras/migrations_example/lib/tables.dart b/extras/migrations_example/lib/tables.dart index 18193d53..7f6b1694 100644 --- a/extras/migrations_example/lib/tables.dart +++ b/extras/migrations_example/lib/tables.dart @@ -1,4 +1,4 @@ -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; class Users extends Table { IntColumn get id => integer().autoIncrement()(); diff --git a/extras/migrations_example/lib/tables.drift b/extras/migrations_example/lib/tables.drift new file mode 100644 index 00000000..ea890305 --- /dev/null +++ b/extras/migrations_example/lib/tables.drift @@ -0,0 +1,11 @@ +import 'tables.dart'; + +-- This table was added in schema version 3 +CREATE TABLE "groups" ( + id INTEGER NOT NULL, + title TEXT NOT NULL, + deleted BOOLEAN DEFAULT FALSE, + owner INTEGER NOT NULL REFERENCES users (id), + + PRIMARY KEY (id) +); \ No newline at end of file diff --git a/extras/migrations_example/pubspec.yaml b/extras/migrations_example/pubspec.yaml index 8a0fd1c6..5215b05c 100644 --- a/extras/migrations_example/pubspec.yaml +++ b/extras/migrations_example/pubspec.yaml @@ -6,10 +6,10 @@ environment: sdk: '>=2.12.0 <3.0.0' dependencies: - moor: + drift: dev_dependencies: - moor_generator: + drift_dev: build_runner: ^2.0.0 test: ^1.15.4 @@ -18,9 +18,5 @@ dependency_overrides: path: ../../drift drift_dev: path: ../../drift_dev - moor: - path: ../../moor - moor_generator: - path: ../../moor_generator sqlparser: path: ../../sqlparser diff --git a/extras/migrations_example/test/generated/schema.dart b/extras/migrations_example/test/generated/schema.dart index 1a7f2d95..161f60e4 100644 --- a/extras/migrations_example/test/generated/schema.dart +++ b/extras/migrations_example/test/generated/schema.dart @@ -1,7 +1,7 @@ // GENERATED CODE, DO NOT EDIT BY HAND. //@dart=2.12 -import 'package:moor/moor.dart'; -import 'package:moor_generator/api/migrations.dart'; +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; diff --git a/extras/migrations_example/test/generated/schema_v1.dart b/extras/migrations_example/test/generated/schema_v1.dart index b94f248e..cd1f6430 100644 --- a/extras/migrations_example/test/generated/schema_v1.dart +++ b/extras/migrations_example/test/generated/schema_v1.dart @@ -1,6 +1,6 @@ // GENERATED CODE, DO NOT EDIT BY HAND. //@dart=2.12 -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; class UsersData extends DataClass implements Insertable { final int id; @@ -28,14 +28,14 @@ class UsersData extends DataClass implements Insertable { factory UsersData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return UsersData( id: serializer.fromJson(json['id']), ); } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), }; @@ -46,12 +46,14 @@ class UsersData extends DataClass implements Insertable { ); @override String toString() { - return (StringBuffer('UsersData(')..write('id: $id')..write(')')) + return (StringBuffer('UsersData(') + ..write('id: $id') + ..write(')')) .toString(); } @override - int get hashCode => $mrjf(id.hashCode); + int get hashCode => id.hashCode; @override bool operator ==(Object other) => identical(this, other) || (other is UsersData && other.id == this.id); @@ -90,29 +92,28 @@ class UsersCompanion extends UpdateCompanion { @override String toString() { - return (StringBuffer('UsersCompanion(')..write('id: $id')..write(')')) + return (StringBuffer('UsersCompanion(') + ..write('id: $id') + ..write(')')) .toString(); } } -class Users extends Table with TableInfo { +class Users extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Users(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - hasAutoIncrement: true, declaredAsPrimaryKey: true); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + defaultConstraints: 'PRIMARY KEY AUTOINCREMENT'); @override List get $columns => [id]; @override - Users get asDslTable => this; + String get aliasedName => _alias ?? 'users'; @override - String get $tableName => _alias ?? 'users'; - @override - final String actualTableName = 'users'; + String get actualTableName => 'users'; @override Set get $primaryKey => {id}; @override diff --git a/extras/migrations_example/test/generated/schema_v2.dart b/extras/migrations_example/test/generated/schema_v2.dart index 147e16a1..658eb875 100644 --- a/extras/migrations_example/test/generated/schema_v2.dart +++ b/extras/migrations_example/test/generated/schema_v2.dart @@ -1,6 +1,6 @@ // GENERATED CODE, DO NOT EDIT BY HAND. //@dart=2.12 -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; class UsersData extends DataClass implements Insertable { final int id; @@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable { factory UsersData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return UsersData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), @@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), @@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, name.hashCode)); + int get hashCode => Object.hash(id, name); @override bool operator ==(Object other) => identical(this, other) || @@ -119,33 +119,24 @@ class UsersCompanion extends UpdateCompanion { } } -class Users extends Table with TableInfo { +class Users extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Users(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - hasAutoIncrement: true, declaredAsPrimaryKey: true); - } - - late final GeneratedTextColumn name = _constructName(); - GeneratedTextColumn _constructName() { - return GeneratedTextColumn( - 'name', - $tableName, - false, - ); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + defaultConstraints: 'PRIMARY KEY AUTOINCREMENT'); + late final GeneratedColumn name = GeneratedColumn( + 'name', aliasedName, false, + typeName: 'TEXT', requiredDuringInsert: true); @override List get $columns => [id, name]; @override - Users get asDslTable => this; + String get aliasedName => _alias ?? 'users'; @override - String get $tableName => _alias ?? 'users'; - @override - final String actualTableName = 'users'; + String get actualTableName => 'users'; @override Set get $primaryKey => {id}; @override diff --git a/extras/migrations_example/test/generated/schema_v3.dart b/extras/migrations_example/test/generated/schema_v3.dart index 545386d1..85073a44 100644 --- a/extras/migrations_example/test/generated/schema_v3.dart +++ b/extras/migrations_example/test/generated/schema_v3.dart @@ -1,6 +1,6 @@ // GENERATED CODE, DO NOT EDIT BY HAND. //@dart=2.12 -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; class UsersData extends DataClass implements Insertable { final int id; @@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable { factory UsersData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return UsersData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), @@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), @@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, name.hashCode)); + int get hashCode => Object.hash(id, name); @override bool operator ==(Object other) => identical(this, other) || @@ -119,33 +119,24 @@ class UsersCompanion extends UpdateCompanion { } } -class Users extends Table with TableInfo { +class Users extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Users(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - hasAutoIncrement: true, declaredAsPrimaryKey: true); - } - - late final GeneratedTextColumn name = _constructName(); - GeneratedTextColumn _constructName() { - return GeneratedTextColumn( - 'name', - $tableName, - false, - ); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + defaultConstraints: 'PRIMARY KEY AUTOINCREMENT'); + late final GeneratedColumn name = GeneratedColumn( + 'name', aliasedName, false, + typeName: 'TEXT', requiredDuringInsert: true); @override List get $columns => [id, name]; @override - Users get asDslTable => this; + String get aliasedName => _alias ?? 'users'; @override - String get $tableName => _alias ?? 'users'; - @override - final String actualTableName = 'users'; + String get actualTableName => 'users'; @override Set get $primaryKey => {id}; @override @@ -212,7 +203,7 @@ class GroupsData extends DataClass implements Insertable { factory GroupsData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return GroupsData( id: serializer.fromJson(json['id']), title: serializer.fromJson(json['title']), @@ -222,7 +213,7 @@ class GroupsData extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'title': serializer.toJson(title), @@ -250,8 +241,7 @@ class GroupsData extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, - $mrjc(title.hashCode, $mrjc(deleted.hashCode, owner.hashCode)))); + int get hashCode => Object.hash(id, title, deleted, owner); @override bool operator ==(Object other) => identical(this, other) || @@ -337,43 +327,37 @@ class GroupsCompanion extends UpdateCompanion { } } -class Groups extends Table with TableInfo { +class Groups extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Groups(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - $customConstraints: 'NOT NULL'); - } - - late final GeneratedTextColumn title = _constructTitle(); - GeneratedTextColumn _constructTitle() { - return GeneratedTextColumn('title', $tableName, false, - $customConstraints: 'NOT NULL'); - } - - late final GeneratedBoolColumn deleted = _constructDeleted(); - GeneratedBoolColumn _constructDeleted() { - return GeneratedBoolColumn('deleted', $tableName, true, - $customConstraints: 'DEFAULT FALSE', - defaultValue: const CustomExpression('FALSE')); - } - - late final GeneratedIntColumn owner = _constructOwner(); - GeneratedIntColumn _constructOwner() { - return GeneratedIntColumn('owner', $tableName, false, - $customConstraints: 'NOT NULL REFERENCES users (id)'); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + $customConstraints: 'NOT NULL'); + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + typeName: 'TEXT', + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', aliasedName, true, + typeName: 'INTEGER', + requiredDuringInsert: false, + $customConstraints: 'DEFAULT FALSE', + defaultValue: const CustomExpression('FALSE')); + late final GeneratedColumn owner = GeneratedColumn( + 'owner', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: true, + $customConstraints: 'NOT NULL REFERENCES users (id)'); @override List get $columns => [id, title, deleted, owner]; @override - Groups get asDslTable => this; + String get aliasedName => _alias ?? 'groups'; @override - String get $tableName => _alias ?? 'groups'; - @override - final String actualTableName = 'groups'; + String get actualTableName => 'groups'; @override Set get $primaryKey => {id}; @override diff --git a/extras/migrations_example/test/generated/schema_v4.dart b/extras/migrations_example/test/generated/schema_v4.dart index 060eaaa2..a37b3d13 100644 --- a/extras/migrations_example/test/generated/schema_v4.dart +++ b/extras/migrations_example/test/generated/schema_v4.dart @@ -1,6 +1,6 @@ // GENERATED CODE, DO NOT EDIT BY HAND. //@dart=2.12 -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; class UsersData extends DataClass implements Insertable { final int id; @@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable { factory UsersData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return UsersData( id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), @@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'name': serializer.toJson(name), @@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, name.hashCode)); + int get hashCode => Object.hash(id, name); @override bool operator ==(Object other) => identical(this, other) || @@ -119,30 +119,26 @@ class UsersCompanion extends UpdateCompanion { } } -class Users extends Table with TableInfo { +class Users extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Users(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - hasAutoIncrement: true, declaredAsPrimaryKey: true); - } - - late final GeneratedTextColumn name = _constructName(); - GeneratedTextColumn _constructName() { - return GeneratedTextColumn('name', $tableName, false, - defaultValue: const Constant('name')); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + defaultConstraints: 'PRIMARY KEY AUTOINCREMENT'); + late final GeneratedColumn name = GeneratedColumn( + 'name', aliasedName, false, + typeName: 'TEXT', + requiredDuringInsert: false, + defaultValue: const Constant('name')); @override List get $columns => [id, name]; @override - Users get asDslTable => this; + String get aliasedName => _alias ?? 'users'; @override - String get $tableName => _alias ?? 'users'; - @override - final String actualTableName = 'users'; + String get actualTableName => 'users'; @override Set get $primaryKey => {id}; @override @@ -209,7 +205,7 @@ class GroupsData extends DataClass implements Insertable { factory GroupsData.fromJson(Map json, {ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return GroupsData( id: serializer.fromJson(json['id']), title: serializer.fromJson(json['title']), @@ -219,7 +215,7 @@ class GroupsData extends DataClass implements Insertable { } @override Map toJson({ValueSerializer? serializer}) { - serializer ??= moorRuntimeOptions.defaultSerializer; + serializer ??= driftRuntimeOptions.defaultSerializer; return { 'id': serializer.toJson(id), 'title': serializer.toJson(title), @@ -247,8 +243,7 @@ class GroupsData extends DataClass implements Insertable { } @override - int get hashCode => $mrjf($mrjc(id.hashCode, - $mrjc(title.hashCode, $mrjc(deleted.hashCode, owner.hashCode)))); + int get hashCode => Object.hash(id, title, deleted, owner); @override bool operator ==(Object other) => identical(this, other) || @@ -334,43 +329,37 @@ class GroupsCompanion extends UpdateCompanion { } } -class Groups extends Table with TableInfo { +class Groups extends Table with TableInfo { final GeneratedDatabase _db; final String? _alias; Groups(this._db, [this._alias]); - late final GeneratedIntColumn id = _constructId(); - GeneratedIntColumn _constructId() { - return GeneratedIntColumn('id', $tableName, false, - $customConstraints: 'NOT NULL'); - } - - late final GeneratedTextColumn title = _constructTitle(); - GeneratedTextColumn _constructTitle() { - return GeneratedTextColumn('title', $tableName, false, - $customConstraints: 'NOT NULL'); - } - - late final GeneratedBoolColumn deleted = _constructDeleted(); - GeneratedBoolColumn _constructDeleted() { - return GeneratedBoolColumn('deleted', $tableName, true, - $customConstraints: 'DEFAULT FALSE', - defaultValue: const CustomExpression('FALSE')); - } - - late final GeneratedIntColumn owner = _constructOwner(); - GeneratedIntColumn _constructOwner() { - return GeneratedIntColumn('owner', $tableName, false, - $customConstraints: 'NOT NULL REFERENCES users (id)'); - } - + late final GeneratedColumn id = GeneratedColumn( + 'id', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: false, + $customConstraints: 'NOT NULL'); + late final GeneratedColumn title = GeneratedColumn( + 'title', aliasedName, false, + typeName: 'TEXT', + requiredDuringInsert: true, + $customConstraints: 'NOT NULL'); + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', aliasedName, true, + typeName: 'INTEGER', + requiredDuringInsert: false, + $customConstraints: 'DEFAULT FALSE', + defaultValue: const CustomExpression('FALSE')); + late final GeneratedColumn owner = GeneratedColumn( + 'owner', aliasedName, false, + typeName: 'INTEGER', + requiredDuringInsert: true, + $customConstraints: 'NOT NULL REFERENCES users (id)'); @override List get $columns => [id, title, deleted, owner]; @override - Groups get asDslTable => this; + String get aliasedName => _alias ?? 'groups'; @override - String get $tableName => _alias ?? 'groups'; - @override - final String actualTableName = 'groups'; + String get actualTableName => 'groups'; @override Set get $primaryKey => {id}; @override diff --git a/extras/migrations_example/test/migration_test.dart b/extras/migrations_example/test/migration_test.dart index 1f4d6226..8b99ee7a 100644 --- a/extras/migrations_example/test/migration_test.dart +++ b/extras/migrations_example/test/migration_test.dart @@ -1,7 +1,7 @@ import 'package:migrations_example/database.dart'; -import 'package:moor/moor.dart'; +import 'package:drift/drift.dart'; import 'package:test/test.dart'; -import 'package:moor_generator/api/migrations.dart'; +import 'package:drift_dev/api/migrations.dart'; // Import the generated schema helper to instantiate databases at old versions. import 'generated/schema.dart'; @@ -10,7 +10,7 @@ import 'generated/schema_v1.dart' as v1; import 'generated/schema_v2.dart' as v2; void main() { - moorRuntimeOptions.dontWarnAboutMultipleDatabases = true; + driftRuntimeOptions.dontWarnAboutMultipleDatabases = true; late SchemaVerifier verifier; setUpAll(() {