Migrate migration example to drift

This commit is contained in:
Simon Binder 2021-10-09 17:10:34 +02:00
parent dc5055f585
commit cc99b1372a
No known key found for this signature in database
GPG Key ID: 7891917E4147B8C0
17 changed files with 181 additions and 191 deletions

View File

@ -1,4 +1,4 @@
//@dart=2.9
// @dart=2.9
import 'package:drift_dev/src/cli/cli.dart' as cli;
Future main(List<String> args) {

View File

@ -295,6 +295,9 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor<void> {
break;
case 'moor_generator':
newPackage = 'drift_dev';
break;
default:
return;
}
final driftImport = 'package:$newPackage/$path';

View File

@ -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<void> _writeLibraryFile(
Directory output, Iterable<int> versions, bool nnbd) {
Future<void> _writeLibraryFile(Directory output, Iterable<int> 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;");

View File

@ -8,7 +8,10 @@ Future<MoorOptions> 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>()
.map((json) => MoorOptions.fromJson(json));

View File

@ -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
```

View File

@ -1,6 +1,6 @@
targets:
$default:
builders:
moor_generator:
drift_dev:
options:
generate_connect_constructor: true

View File

@ -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;

View File

@ -38,7 +38,7 @@ class User extends DataClass implements Insertable<User> {
factory User.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return User(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
@ -46,7 +46,7 @@ class User extends DataClass implements Insertable<User> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
@ -67,7 +67,7 @@ class User extends DataClass implements Insertable<User> {
}
@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<Group> {
factory Group.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return Group(
id: serializer.fromJson<int>(json['id']),
title: serializer.fromJson<String>(json['title']),
@ -234,7 +234,7 @@ class Group extends DataClass implements Insertable<Group> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'title': serializer.toJson<String>(title),
@ -261,8 +261,7 @@ class Group extends DataClass implements Insertable<Group> {
}
@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) ||

View File

@ -1,4 +1,4 @@
import 'package:moor/moor.dart';
import 'package:drift/drift.dart';
class Users extends Table {
IntColumn get id => integer().autoIncrement()();

View File

@ -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)
);

View File

@ -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

View File

@ -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;

View File

@ -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<UsersData> {
final int id;
@ -28,14 +28,14 @@ class UsersData extends DataClass implements Insertable<UsersData> {
factory UsersData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return UsersData(
id: serializer.fromJson<int>(json['id']),
);
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
};
@ -46,12 +46,14 @@ class UsersData extends DataClass implements Insertable<UsersData> {
);
@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<UsersData> {
@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<Users, UsersData> {
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<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
defaultConstraints: 'PRIMARY KEY AUTOINCREMENT');
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override

View File

@ -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<UsersData> {
final int id;
@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
factory UsersData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return UsersData(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@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<UsersData> {
}
}
class Users extends Table with TableInfo {
class Users extends Table with TableInfo<Users, UsersData> {
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<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
defaultConstraints: 'PRIMARY KEY AUTOINCREMENT');
late final GeneratedColumn<String?> name = GeneratedColumn<String?>(
'name', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true);
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override

View File

@ -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<UsersData> {
final int id;
@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
factory UsersData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return UsersData(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@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<UsersData> {
}
}
class Users extends Table with TableInfo {
class Users extends Table with TableInfo<Users, UsersData> {
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<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
defaultConstraints: 'PRIMARY KEY AUTOINCREMENT');
late final GeneratedColumn<String?> name = GeneratedColumn<String?>(
'name', aliasedName, false,
typeName: 'TEXT', requiredDuringInsert: true);
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override
@ -212,7 +203,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
factory GroupsData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return GroupsData(
id: serializer.fromJson<int>(json['id']),
title: serializer.fromJson<String>(json['title']),
@ -222,7 +213,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'title': serializer.toJson<String>(title),
@ -250,8 +241,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
}
@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<GroupsData> {
}
}
class Groups extends Table with TableInfo {
class Groups extends Table with TableInfo<Groups, GroupsData> {
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<bool>('FALSE'));
}
late final GeneratedIntColumn owner = _constructOwner();
GeneratedIntColumn _constructOwner() {
return GeneratedIntColumn('owner', $tableName, false,
$customConstraints: 'NOT NULL REFERENCES users (id)');
}
late final GeneratedColumn<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
$customConstraints: 'NOT NULL');
late final GeneratedColumn<String?> title = GeneratedColumn<String?>(
'title', aliasedName, false,
typeName: 'TEXT',
requiredDuringInsert: true,
$customConstraints: 'NOT NULL');
late final GeneratedColumn<bool?> deleted = GeneratedColumn<bool?>(
'deleted', aliasedName, true,
typeName: 'INTEGER',
requiredDuringInsert: false,
$customConstraints: 'DEFAULT FALSE',
defaultValue: const CustomExpression<bool>('FALSE'));
late final GeneratedColumn<int?> owner = GeneratedColumn<int?>(
'owner', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: true,
$customConstraints: 'NOT NULL REFERENCES users (id)');
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override

View File

@ -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<UsersData> {
final int id;
@ -33,7 +33,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
factory UsersData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return UsersData(
id: serializer.fromJson<int>(json['id']),
name: serializer.fromJson<String>(json['name']),
@ -41,7 +41,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'name': serializer.toJson<String>(name),
@ -62,7 +62,7 @@ class UsersData extends DataClass implements Insertable<UsersData> {
}
@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<UsersData> {
}
}
class Users extends Table with TableInfo {
class Users extends Table with TableInfo<Users, UsersData> {
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<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
defaultConstraints: 'PRIMARY KEY AUTOINCREMENT');
late final GeneratedColumn<String?> name = GeneratedColumn<String?>(
'name', aliasedName, false,
typeName: 'TEXT',
requiredDuringInsert: false,
defaultValue: const Constant('name'));
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override
@ -209,7 +205,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
factory GroupsData.fromJson(Map<String, dynamic> json,
{ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return GroupsData(
id: serializer.fromJson<int>(json['id']),
title: serializer.fromJson<String>(json['title']),
@ -219,7 +215,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
}
@override
Map<String, dynamic> toJson({ValueSerializer? serializer}) {
serializer ??= moorRuntimeOptions.defaultSerializer;
serializer ??= driftRuntimeOptions.defaultSerializer;
return <String, dynamic>{
'id': serializer.toJson<int>(id),
'title': serializer.toJson<String>(title),
@ -247,8 +243,7 @@ class GroupsData extends DataClass implements Insertable<GroupsData> {
}
@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<GroupsData> {
}
}
class Groups extends Table with TableInfo {
class Groups extends Table with TableInfo<Groups, GroupsData> {
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<bool>('FALSE'));
}
late final GeneratedIntColumn owner = _constructOwner();
GeneratedIntColumn _constructOwner() {
return GeneratedIntColumn('owner', $tableName, false,
$customConstraints: 'NOT NULL REFERENCES users (id)');
}
late final GeneratedColumn<int?> id = GeneratedColumn<int?>(
'id', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: false,
$customConstraints: 'NOT NULL');
late final GeneratedColumn<String?> title = GeneratedColumn<String?>(
'title', aliasedName, false,
typeName: 'TEXT',
requiredDuringInsert: true,
$customConstraints: 'NOT NULL');
late final GeneratedColumn<bool?> deleted = GeneratedColumn<bool?>(
'deleted', aliasedName, true,
typeName: 'INTEGER',
requiredDuringInsert: false,
$customConstraints: 'DEFAULT FALSE',
defaultValue: const CustomExpression<bool>('FALSE'));
late final GeneratedColumn<int?> owner = GeneratedColumn<int?>(
'owner', aliasedName, false,
typeName: 'INTEGER',
requiredDuringInsert: true,
$customConstraints: 'NOT NULL REFERENCES users (id)');
@override
List<GeneratedColumn> 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<GeneratedColumn> get $primaryKey => {id};
@override

View File

@ -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(() {