import 'package:drift/internal/versioned_schema.dart' as i0; import 'package:drift/drift.dart' as i1; import 'package:drift/drift.dart'; // ignore_for_file: type=lint,unused_import // GENERATED BY drift_dev, DO NOT MODIFY. final class _S2 extends i0.VersionedSchema { _S2({required super.database}) : super(version: 2); @override late final List entities = [ categories, todoEntries, textEntries, todosInsert, ]; late final Shape0 categories = Shape0( source: i0.VersionedTable( entityName: 'categories', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_1, _column_2, ], attachedDatabase: database, ), alias: null); late final Shape1 todoEntries = Shape1( source: i0.VersionedTable( entityName: 'todo_entries', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_3, _column_4, _column_5, ], attachedDatabase: database, ), alias: null); late final Shape2 textEntries = Shape2( source: i0.VersionedVirtualTable( entityName: 'text_entries', moduleAndArgs: 'fts5(description, content=todo_entries, content_rowid=id)', columns: [ _column_6, ], attachedDatabase: database, ), alias: null); final i1.Trigger todosInsert = i1.Trigger( 'CREATE TRIGGER todos_insert AFTER INSERT ON todo_entries BEGIN\n INSERT INTO text_entries(rowid, description) VALUES (new.id, new.description);\nEND;', 'todos_insert'); } class Shape0 extends i0.VersionedTable { Shape0({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get name => columnsByName['name']! as i1.GeneratedColumn; i1.GeneratedColumn get color => columnsByName['color']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_0(String aliasedName) => i1.GeneratedColumn('id', aliasedName, false, hasAutoIncrement: true, type: i1.DriftSqlType.int, defaultConstraints: i1.GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT')); i1.GeneratedColumn _column_1(String aliasedName) => i1.GeneratedColumn('name', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_2(String aliasedName) => i1.GeneratedColumn('color', aliasedName, false, type: i1.DriftSqlType.int); class Shape1 extends i0.VersionedTable { Shape1({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get id => columnsByName['id']! as i1.GeneratedColumn; i1.GeneratedColumn get description => columnsByName['description']! as i1.GeneratedColumn; i1.GeneratedColumn get category => columnsByName['category']! as i1.GeneratedColumn; i1.GeneratedColumn get dueDate => columnsByName['due_date']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_3(String aliasedName) => i1.GeneratedColumn('description', aliasedName, false, type: i1.DriftSqlType.string); i1.GeneratedColumn _column_4(String aliasedName) => i1.GeneratedColumn('category', aliasedName, true, type: i1.DriftSqlType.int); i1.GeneratedColumn _column_5(String aliasedName) => i1.GeneratedColumn('due_date', aliasedName, true, type: i1.DriftSqlType.dateTime); class Shape2 extends i0.VersionedVirtualTable { Shape2({required super.source, required super.alias}) : super.aliased(); i1.GeneratedColumn get description => columnsByName['description']! as i1.GeneratedColumn; } i1.GeneratedColumn _column_6(String aliasedName) => i1.GeneratedColumn('description', aliasedName, false, type: i1.DriftSqlType.string, $customConstraints: ''); final class _S3 extends i0.VersionedSchema { _S3({required super.database}) : super(version: 3); @override late final List entities = [ categories, todoEntries, textEntries, todosInsert, todosDelete, todosUpdate, ]; late final Shape0 categories = Shape0( source: i0.VersionedTable( entityName: 'categories', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_1, _column_2, ], attachedDatabase: database, ), alias: null); late final Shape1 todoEntries = Shape1( source: i0.VersionedTable( entityName: 'todo_entries', withoutRowId: false, isStrict: false, tableConstraints: [], columns: [ _column_0, _column_3, _column_7, _column_5, ], attachedDatabase: database, ), alias: null); late final Shape2 textEntries = Shape2( source: i0.VersionedVirtualTable( entityName: 'text_entries', moduleAndArgs: 'fts5(description, content=todo_entries, content_rowid=id)', columns: [ _column_6, ], attachedDatabase: database, ), alias: null); final i1.Trigger todosInsert = i1.Trigger( 'CREATE TRIGGER todos_insert AFTER INSERT ON todo_entries BEGIN INSERT INTO text_entries ("rowid", description) VALUES (new.id, new.description);END', 'todos_insert'); final i1.Trigger todosDelete = i1.Trigger( 'CREATE TRIGGER todos_delete AFTER DELETE ON todo_entries BEGIN INSERT INTO text_entries (text_entries, "rowid", description) VALUES (\'delete\', old.id, old.description);END', 'todos_delete'); final i1.Trigger todosUpdate = i1.Trigger( 'CREATE TRIGGER todos_update AFTER UPDATE ON todo_entries BEGIN INSERT INTO text_entries (text_entries, "rowid", description) VALUES (\'delete\', new.id, new.description);INSERT INTO text_entries ("rowid", description) VALUES (new.id, new.description);END', 'todos_update'); } i1.GeneratedColumn _column_7(String aliasedName) => i1.GeneratedColumn('category', aliasedName, true, type: i1.DriftSqlType.int, defaultConstraints: i1.GeneratedColumn.constraintIsAlways( 'REFERENCES categories (id)')); i1.OnUpgrade stepByStep({ required Future Function(i1.Migrator m, _S2 schema) from1To2, required Future Function(i1.Migrator m, _S3 schema) from2To3, }) { return i1.Migrator.stepByStepHelper(step: (currentVersion, database) async { switch (currentVersion) { case 1: final schema = _S2(database: database); final migrator = i1.Migrator(database, schema); await from1To2(migrator, schema); return 2; case 2: final schema = _S3(database: database); final migrator = i1.Migrator(database, schema); await from2To3(migrator, schema); return 3; default: throw ArgumentError.value('Unknown migration from $currentVersion'); } }); }