readRepairMigration method
Reads the currently available repair migration, if any.
Implementation
@override
Future<RepairMigration?> readRepairMigration() async {
var repairMigrationDirectory = MigrationConstants.repairMigrationDirectory(
_projectDirectory,
);
if (!await repairMigrationDirectory.exists()) {
return null;
}
var repairMigrationFiles = await repairMigrationDirectory
.list()
.where((entity) => entity is File)
.cast<File>()
.where((file) => path.basename(file.path).endsWith('.sql'))
.toList();
if (repairMigrationFiles.isEmpty) {
return null;
}
var migrationSqlFile = repairMigrationFiles.single;
return RepairMigration(
version: path.basename(migrationSqlFile.path).split('.').first,
migrationSql: await migrationSqlFile.readAsString(),
);
}