doAfterUpgrade static method

Future<void> doAfterUpgrade(
  1. GeneratedDatabase database
)

Executed after database upgrade. Re-enables foreign key constraints and validates them in debug mode.

Implementation

static Future<void> doAfterUpgrade(GeneratedDatabase database) async {
  if (kDebugMode) {
    final wrongForeignKeys =
        await database.customSelect('PRAGMA foreign_key_check').get();
    assert(
      wrongForeignKeys.isEmpty,
      '${wrongForeignKeys.map((e) => e.data)}',
    );
  }

  await database.customStatement('PRAGMA foreign_keys = ON');
  logger.d("[${database.runtimeType}] onUpgrade: ended");
}