flutter moor добавить исходные данные после миграции - PullRequest
0 голосов
/ 03 августа 2020

После переноса объекта и добавления столбца я хочу вставить значение для уже существующих записей в таблицу для нового добавленного столбца. Как я могу это сделать?

Например, в этом сценарии я хочу, чтобы значение столбца dueDate было DateTime (2019,1,1) для записей, которые уже существовали в базе данных.

class Todos extends Table {
  IntColumn get id => integer().autoIncrement()();
  TextColumn get title => text().withLength(min: 6, max: 10)();
  TextColumn get content => text().named('body')();
  IntColumn get category => integer().nullable()();
  DateTimeColumn get dueDate => dateTime().nullable()(); // new, added column
}
  int get schemaVersion => 2; // bump because the tables have changed

  @override
  MigrationStrategy get migration => MigrationStrategy(
    onCreate: (Migrator m) {
      return m.createAllTables();
    },
    onUpgrade: (Migrator m, int from, int to) async {
      if (from == 1) {
        // we added the dueDate property in the change from version 1
        await m.addColumn(todos, todos.dueDate);
      }
    }
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...