writeRepairMigration method
Persists the provided repair migration, replacing any existing one.
Throws MigrationRepairWriteException if the repair migration cannot be
written.
Implementation
@override
Future<void> writeRepairMigration(RepairMigration repairMigration) async {
try {
var repairMigrationDirectory =
MigrationConstants.repairMigrationDirectory(
_projectDirectory,
);
if (await repairMigrationDirectory.exists()) {
await repairMigrationDirectory.delete(recursive: true);
}
await repairMigrationDirectory.create(recursive: true);
var repairMigrationFile = File(
path.join(
repairMigrationDirectory.path,
'${repairMigration.version}.sql',
),
);
await repairMigrationFile.writeAsString(repairMigration.migrationSql);
} catch (e) {
throw MigrationRepairWriteException(exception: e.toString());
}
}