// dart format width=80
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 Schema2 extends i0.VersionedSchema {
  Schema2({required super.database}) : super(version: 2);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
  ];
  late final Shape0 dictionaryList = Shape0(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_2,
        ],
        attachedDatabase: database,
      ),
      alias: null);
}

class Shape0 extends i0.VersionedTable {
  Shape0({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<int> _column_0(String aliasedName) =>
    i1.GeneratedColumn<int>('id', aliasedName, false,
        hasAutoIncrement: true,
        type: i1.DriftSqlType.int,
        defaultConstraints:
            i1.GeneratedColumn.constraintIsAlways('PRIMARY KEY AUTOINCREMENT'));
i1.GeneratedColumn<String> _column_1(String aliasedName) =>
    i1.GeneratedColumn<String>('path', aliasedName, false,
        type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_2(String aliasedName) =>
    i1.GeneratedColumn<String>('font_path', aliasedName, true,
        type: i1.DriftSqlType.string);

final class Schema3 extends i0.VersionedSchema {
  Schema3({required super.database}) : super(version: 3);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
  ];
  late final Shape1 dictionaryList = Shape1(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_3,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
}

class Shape1 extends i0.VersionedTable {
  Shape1({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get backupPath =>
      columnsByName['backup_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<String> _column_3(String aliasedName) =>
    i1.GeneratedColumn<String>('backup_path', aliasedName, true,
        type: i1.DriftSqlType.string);

final class Schema4 extends i0.VersionedSchema {
  Schema4({required super.database}) : super(version: 4);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape1 dictionaryList = Shape1(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_3,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape2 wordbook = Shape2(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook =
      i1.Index('idx_wordbook', 'CREATE INDEX idx_wordbook ON wordbook (word)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

class Shape2 extends i0.VersionedTable {
  Shape2({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get tag =>
      columnsByName['tag']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get word =>
      columnsByName['word']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<int> _column_4(String aliasedName) =>
    i1.GeneratedColumn<int>('tag', aliasedName, true,
        type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_5(String aliasedName) =>
    i1.GeneratedColumn<String>('word', aliasedName, false,
        type: i1.DriftSqlType.string);

class Shape3 extends i0.VersionedTable {
  Shape3({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get tag =>
      columnsByName['tag']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<String> _column_6(String aliasedName) =>
    i1.GeneratedColumn<String>('tag', aliasedName, false,
        type: i1.DriftSqlType.string,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways('UNIQUE'));

final class Schema5 extends i0.VersionedSchema {
  Schema5({required super.database}) : super(version: 5);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape1 dictionaryList = Shape1(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_3,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape2 wordbook = Shape2(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook =
      i1.Index('idx_wordbook', 'CREATE INDEX idx_wordbook ON wordbook (word)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

class Shape4 extends i0.VersionedTable {
  Shape4({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get word =>
      columnsByName['word']! as i1.GeneratedColumn<String>;
}

final class Schema6 extends i0.VersionedSchema {
  Schema6({required super.database}) : super(version: 6);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape0 dictionaryList = Shape0(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape2 wordbook = Shape2(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook =
      i1.Index('idx_wordbook', 'CREATE INDEX idx_wordbook ON wordbook (word)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

class Shape5 extends i0.VersionedTable {
  Shape5({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get dictIds =>
      columnsByName['dict_ids']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get name =>
      columnsByName['name']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<String> _column_7(String aliasedName) =>
    i1.GeneratedColumn<String>('dict_ids', aliasedName, false,
        type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_8(String aliasedName) =>
    i1.GeneratedColumn<String>('name', aliasedName, false,
        type: i1.DriftSqlType.string,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways('UNIQUE'));

final class Schema7 extends i0.VersionedSchema {
  Schema7({required super.database}) : super(version: 7);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape2 wordbook = Shape2(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook =
      i1.Index('idx_wordbook', 'CREATE INDEX idx_wordbook ON wordbook (word)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

class Shape6 extends i0.VersionedTable {
  Shape6({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get alias =>
      columnsByName['alias']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<String> _column_9(String aliasedName) =>
    i1.GeneratedColumn<String>('alias', aliasedName, true,
        type: i1.DriftSqlType.string);

final class Schema8 extends i0.VersionedSchema {
  Schema8({required super.database}) : super(version: 8);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
          _column_10,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

class Shape7 extends i0.VersionedTable {
  Shape7({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get tag =>
      columnsByName['tag']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get word =>
      columnsByName['word']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<DateTime> get createdAt =>
      columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
}

i1.GeneratedColumn<DateTime> _column_10(String aliasedName) =>
    i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
        type: i1.DriftSqlType.dateTime,
        defaultValue: const CustomExpression('1740826637'));

final class Schema9 extends i0.VersionedSchema {
  Schema9({required super.database}) : super(version: 9);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    idxWordbook,
    idxWordbookTags,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_4,
          _column_5,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
}

i1.GeneratedColumn<DateTime> _column_11(String aliasedName) =>
    i1.GeneratedColumn<DateTime>('created_at', aliasedName, false,
        type: i1.DriftSqlType.dateTime);

final class Schema10 extends i0.VersionedSchema {
  Schema10({required super.database}) : super(version: 10);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
}

class Shape8 extends i0.VersionedTable {
  Shape8({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get title =>
      columnsByName['title']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get order =>
      columnsByName['order']! as i1.GeneratedColumn<int>;
}

i1.GeneratedColumn<String> _column_12(String aliasedName) =>
    i1.GeneratedColumn<String>('title', aliasedName, false,
        type: i1.DriftSqlType.string);
i1.GeneratedColumn<int> _column_13(String aliasedName) =>
    i1.GeneratedColumn<int>('order', aliasedName, false,
        type: i1.DriftSqlType.int);

class Shape9 extends i0.VersionedTable {
  Shape9({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get blockOffset =>
      columnsByName['block_offset']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<int> get compressedSize =>
      columnsByName['compressed_size']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<int> get endOffset =>
      columnsByName['end_offset']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get key =>
      columnsByName['key']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get mddAudioListId =>
      columnsByName['mdd_audio_list_id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<int> get startOffset =>
      columnsByName['start_offset']! as i1.GeneratedColumn<int>;
}

i1.GeneratedColumn<int> _column_14(String aliasedName) =>
    i1.GeneratedColumn<int>('block_offset', aliasedName, false,
        type: i1.DriftSqlType.int);
i1.GeneratedColumn<int> _column_15(String aliasedName) =>
    i1.GeneratedColumn<int>('compressed_size', aliasedName, false,
        type: i1.DriftSqlType.int);
i1.GeneratedColumn<int> _column_16(String aliasedName) =>
    i1.GeneratedColumn<int>('end_offset', aliasedName, false,
        type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_17(String aliasedName) =>
    i1.GeneratedColumn<String>('key', aliasedName, false,
        type: i1.DriftSqlType.string);
i1.GeneratedColumn<int> _column_18(String aliasedName) =>
    i1.GeneratedColumn<int>('mdd_audio_list_id', aliasedName, false,
        type: i1.DriftSqlType.int);
i1.GeneratedColumn<int> _column_19(String aliasedName) =>
    i1.GeneratedColumn<int>('start_offset', aliasedName, false,
        type: i1.DriftSqlType.int);

final class Schema11 extends i0.VersionedSchema {
  Schema11({required super.database}) : super(version: 11);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
}

class Shape10 extends i0.VersionedTable {
  Shape10({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get word =>
      columnsByName['word']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get explanation =>
      columnsByName['explanation']! as i1.GeneratedColumn<String>;
}

i1.GeneratedColumn<String> _column_20(String aliasedName) =>
    i1.GeneratedColumn<String>('word', aliasedName, false,
        type: i1.DriftSqlType.string,
        defaultConstraints: i1.GeneratedColumn.constraintIsAlways('UNIQUE'));
i1.GeneratedColumn<String> _column_21(String aliasedName) =>
    i1.GeneratedColumn<String>('explanation', aliasedName, false,
        type: i1.DriftSqlType.string);

final class Schema12 extends i0.VersionedSchema {
  Schema12({required super.database}) : super(version: 12);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    writingCheckHistory,
    translateHistory,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
  ];
  late final Shape6 dictionaryList = Shape6(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape11 writingCheckHistory = Shape11(
      source: i0.VersionedTable(
        entityName: 'writing_check_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_23,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape12 translateHistory = Shape12(
      source: i0.VersionedTable(
        entityName: 'translate_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
}

class Shape11 extends i0.VersionedTable {
  Shape11({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get inputText =>
      columnsByName['input_text']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get outputText =>
      columnsByName['output_text']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<DateTime> get createdAt =>
      columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
}

i1.GeneratedColumn<String> _column_22(String aliasedName) =>
    i1.GeneratedColumn<String>('input_text', aliasedName, false,
        type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_23(String aliasedName) =>
    i1.GeneratedColumn<String>('output_text', aliasedName, false,
        type: i1.DriftSqlType.string);

class Shape12 extends i0.VersionedTable {
  Shape12({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get inputText =>
      columnsByName['input_text']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<DateTime> get createdAt =>
      columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
}

final class Schema13 extends i0.VersionedSchema {
  Schema13({required super.database}) : super(version: 13);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    writingCheckHistory,
    translateHistory,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
  ];
  late final Shape13 dictionaryList = Shape13(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_1,
          _column_24,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape11 writingCheckHistory = Shape11(
      source: i0.VersionedTable(
        entityName: 'writing_check_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_23,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape12 translateHistory = Shape12(
      source: i0.VersionedTable(
        entityName: 'translate_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
}

class Shape13 extends i0.VersionedTable {
  Shape13({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get alias =>
      columnsByName['alias']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get type =>
      columnsByName['type']! as i1.GeneratedColumn<int>;
}

i1.GeneratedColumn<int> _column_24(String aliasedName) =>
    i1.GeneratedColumn<int>('type', aliasedName, false,
        type: i1.DriftSqlType.int, defaultValue: const CustomExpression('0'));

final class Schema14 extends i0.VersionedSchema {
  Schema14({required super.database}) : super(version: 14);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    writingCheckHistory,
    translateHistory,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
  ];
  late final Shape14 dictionaryList = Shape14(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_9,
          _column_2,
          _column_0,
          _column_25,
          _column_1,
          _column_24,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape11 writingCheckHistory = Shape11(
      source: i0.VersionedTable(
        entityName: 'writing_check_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_23,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape12 translateHistory = Shape12(
      source: i0.VersionedTable(
        entityName: 'translate_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
}

class Shape14 extends i0.VersionedTable {
  Shape14({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get alias =>
      columnsByName['alias']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<int> get order =>
      columnsByName['order']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get type =>
      columnsByName['type']! as i1.GeneratedColumn<int>;
}

i1.GeneratedColumn<int> _column_25(String aliasedName) =>
    i1.GeneratedColumn<int>('order', aliasedName, true,
        type: i1.DriftSqlType.int);

final class Schema15 extends i0.VersionedSchema {
  Schema15({required super.database}) : super(version: 15);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    writingCheckHistory,
    translateHistory,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
  ];
  late final Shape15 dictionaryList = Shape15(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_26,
          _column_2,
          _column_0,
          _column_25,
          _column_1,
          _column_24,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape11 writingCheckHistory = Shape11(
      source: i0.VersionedTable(
        entityName: 'writing_check_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_23,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape12 translateHistory = Shape12(
      source: i0.VersionedTable(
        entityName: 'translate_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
}

class Shape15 extends i0.VersionedTable {
  Shape15({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<String> get title =>
      columnsByName['title']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<String> get fontPath =>
      columnsByName['font_path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<int> get order =>
      columnsByName['order']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get path =>
      columnsByName['path']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<int> get type =>
      columnsByName['type']! as i1.GeneratedColumn<int>;
}

i1.GeneratedColumn<String> _column_26(String aliasedName) =>
    i1.GeneratedColumn<String>('title', aliasedName, true,
        type: i1.DriftSqlType.string);

final class Schema16 extends i0.VersionedSchema {
  Schema16({required super.database}) : super(version: 16);
  @override
  late final List<i1.DatabaseSchemaEntity> entities = [
    dictionaryList,
    wordbook,
    wordbookTags,
    history,
    dictGroup,
    mddAudioList,
    mddAudioResource,
    aiExplanations,
    writingCheckHistory,
    translateHistory,
    openRecords,
    idxWordbook,
    idxWordbookTags,
    idxMddAudioResource,
    idxAiExplanations,
    idxOpenRecords,
  ];
  late final Shape15 dictionaryList = Shape15(
      source: i0.VersionedTable(
        entityName: 'dictionary_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_26,
          _column_2,
          _column_0,
          _column_25,
          _column_1,
          _column_24,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape7 wordbook = Shape7(
      source: i0.VersionedTable(
        entityName: 'wordbook',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_11,
          _column_4,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape3 wordbookTags = Shape3(
      source: i0.VersionedTable(
        entityName: 'wordbook_tags',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_6,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape4 history = Shape4(
      source: i0.VersionedTable(
        entityName: 'history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape5 dictGroup = Shape5(
      source: i0.VersionedTable(
        entityName: 'dict_group',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_7,
          _column_0,
          _column_8,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape8 mddAudioList = Shape8(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_list',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_1,
          _column_12,
          _column_13,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape9 mddAudioResource = Shape9(
      source: i0.VersionedTable(
        entityName: 'mdd_audio_resource',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_14,
          _column_15,
          _column_16,
          _column_17,
          _column_18,
          _column_19,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape10 aiExplanations = Shape10(
      source: i0.VersionedTable(
        entityName: 'ai_explanations',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_20,
          _column_21,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape11 writingCheckHistory = Shape11(
      source: i0.VersionedTable(
        entityName: 'writing_check_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_23,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape12 translateHistory = Shape12(
      source: i0.VersionedTable(
        entityName: 'translate_history',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_22,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  late final Shape16 openRecords = Shape16(
      source: i0.VersionedTable(
        entityName: 'open_records',
        withoutRowId: false,
        isStrict: false,
        tableConstraints: [],
        columns: [
          _column_0,
          _column_5,
          _column_11,
        ],
        attachedDatabase: database,
      ),
      alias: null);
  final i1.Index idxWordbook = i1.Index('idx_wordbook',
      'CREATE INDEX idx_wordbook ON wordbook (word, created_at)');
  final i1.Index idxWordbookTags = i1.Index('idx_wordbook_tags',
      'CREATE INDEX idx_wordbook_tags ON wordbook_tags (tag)');
  final i1.Index idxMddAudioResource = i1.Index('idx_mdd_audio_resource',
      'CREATE INDEX idx_mdd_audio_resource ON mdd_audio_resource ("key")');
  final i1.Index idxAiExplanations = i1.Index('idx_ai_explanations',
      'CREATE INDEX idx_ai_explanations ON ai_explanations (word)');
  final i1.Index idxOpenRecords = i1.Index('idx_open_records',
      'CREATE INDEX idx_open_records ON open_records (word, created_at)');
}

class Shape16 extends i0.VersionedTable {
  Shape16({required super.source, required super.alias}) : super.aliased();
  i1.GeneratedColumn<int> get id =>
      columnsByName['id']! as i1.GeneratedColumn<int>;
  i1.GeneratedColumn<String> get word =>
      columnsByName['word']! as i1.GeneratedColumn<String>;
  i1.GeneratedColumn<DateTime> get createdAt =>
      columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
}

i0.MigrationStepWithVersion migrationSteps({
  required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
  required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
  required Future<void> Function(i1.Migrator m, Schema4 schema) from3To4,
  required Future<void> Function(i1.Migrator m, Schema5 schema) from4To5,
  required Future<void> Function(i1.Migrator m, Schema6 schema) from5To6,
  required Future<void> Function(i1.Migrator m, Schema7 schema) from6To7,
  required Future<void> Function(i1.Migrator m, Schema8 schema) from7To8,
  required Future<void> Function(i1.Migrator m, Schema9 schema) from8To9,
  required Future<void> Function(i1.Migrator m, Schema10 schema) from9To10,
  required Future<void> Function(i1.Migrator m, Schema11 schema) from10To11,
  required Future<void> Function(i1.Migrator m, Schema12 schema) from11To12,
  required Future<void> Function(i1.Migrator m, Schema13 schema) from12To13,
  required Future<void> Function(i1.Migrator m, Schema14 schema) from13To14,
  required Future<void> Function(i1.Migrator m, Schema15 schema) from14To15,
  required Future<void> Function(i1.Migrator m, Schema16 schema) from15To16,
}) {
  return (currentVersion, database) async {
    switch (currentVersion) {
      case 1:
        final schema = Schema2(database: database);
        final migrator = i1.Migrator(database, schema);
        await from1To2(migrator, schema);
        return 2;
      case 2:
        final schema = Schema3(database: database);
        final migrator = i1.Migrator(database, schema);
        await from2To3(migrator, schema);
        return 3;
      case 3:
        final schema = Schema4(database: database);
        final migrator = i1.Migrator(database, schema);
        await from3To4(migrator, schema);
        return 4;
      case 4:
        final schema = Schema5(database: database);
        final migrator = i1.Migrator(database, schema);
        await from4To5(migrator, schema);
        return 5;
      case 5:
        final schema = Schema6(database: database);
        final migrator = i1.Migrator(database, schema);
        await from5To6(migrator, schema);
        return 6;
      case 6:
        final schema = Schema7(database: database);
        final migrator = i1.Migrator(database, schema);
        await from6To7(migrator, schema);
        return 7;
      case 7:
        final schema = Schema8(database: database);
        final migrator = i1.Migrator(database, schema);
        await from7To8(migrator, schema);
        return 8;
      case 8:
        final schema = Schema9(database: database);
        final migrator = i1.Migrator(database, schema);
        await from8To9(migrator, schema);
        return 9;
      case 9:
        final schema = Schema10(database: database);
        final migrator = i1.Migrator(database, schema);
        await from9To10(migrator, schema);
        return 10;
      case 10:
        final schema = Schema11(database: database);
        final migrator = i1.Migrator(database, schema);
        await from10To11(migrator, schema);
        return 11;
      case 11:
        final schema = Schema12(database: database);
        final migrator = i1.Migrator(database, schema);
        await from11To12(migrator, schema);
        return 12;
      case 12:
        final schema = Schema13(database: database);
        final migrator = i1.Migrator(database, schema);
        await from12To13(migrator, schema);
        return 13;
      case 13:
        final schema = Schema14(database: database);
        final migrator = i1.Migrator(database, schema);
        await from13To14(migrator, schema);
        return 14;
      case 14:
        final schema = Schema15(database: database);
        final migrator = i1.Migrator(database, schema);
        await from14To15(migrator, schema);
        return 15;
      case 15:
        final schema = Schema16(database: database);
        final migrator = i1.Migrator(database, schema);
        await from15To16(migrator, schema);
        return 16;
      default:
        throw ArgumentError.value('Unknown migration from $currentVersion');
    }
  };
}

i1.OnUpgrade stepByStep({
  required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
  required Future<void> Function(i1.Migrator m, Schema3 schema) from2To3,
  required Future<void> Function(i1.Migrator m, Schema4 schema) from3To4,
  required Future<void> Function(i1.Migrator m, Schema5 schema) from4To5,
  required Future<void> Function(i1.Migrator m, Schema6 schema) from5To6,
  required Future<void> Function(i1.Migrator m, Schema7 schema) from6To7,
  required Future<void> Function(i1.Migrator m, Schema8 schema) from7To8,
  required Future<void> Function(i1.Migrator m, Schema9 schema) from8To9,
  required Future<void> Function(i1.Migrator m, Schema10 schema) from9To10,
  required Future<void> Function(i1.Migrator m, Schema11 schema) from10To11,
  required Future<void> Function(i1.Migrator m, Schema12 schema) from11To12,
  required Future<void> Function(i1.Migrator m, Schema13 schema) from12To13,
  required Future<void> Function(i1.Migrator m, Schema14 schema) from13To14,
  required Future<void> Function(i1.Migrator m, Schema15 schema) from14To15,
  required Future<void> Function(i1.Migrator m, Schema16 schema) from15To16,
}) =>
    i0.VersionedSchema.stepByStepHelper(
        step: migrationSteps(
      from1To2: from1To2,
      from2To3: from2To3,
      from3To4: from3To4,
      from4To5: from4To5,
      from5To6: from5To6,
      from6To7: from6To7,
      from7To8: from7To8,
      from8To9: from8To9,
      from9To10: from9To10,
      from10To11: from10To11,
      from11To12: from11To12,
      from12To13: from12To13,
      from13To14: from13To14,
      from14To15: from14To15,
      from15To16: from15To16,
    ));
