mirror of https://github.com/AMT-Cheif/drift.git
Migrate migration example to drift
This commit is contained in:
parent
dc5055f585
commit
cc99b1372a
|
@ -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) {
|
|
@ -295,6 +295,9 @@ class _Moor2DriftDartRewriter extends GeneralizingAstVisitor<void> {
|
|||
break;
|
||||
case 'moor_generator':
|
||||
newPackage = 'drift_dev';
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
final driftImport = 'package:$newPackage/$path';
|
||||
|
|
|
@ -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;");
|
||||
|
|
|
@ -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));
|
||||
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
targets:
|
||||
$default:
|
||||
builders:
|
||||
moor_generator:
|
||||
drift_dev:
|
||||
options:
|
||||
generate_connect_constructor: true
|
|
@ -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;
|
||||
|
|
|
@ -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) ||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import 'package:moor/moor.dart';
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class Users extends Table {
|
||||
IntColumn get id => integer().autoIncrement()();
|
||||
|
|
|
@ -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)
|
||||
);
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(() {
|
||||
|
|
Loading…
Reference in New Issue