readVersionDefinition method
Reads the stored definition for a migration version.
Does not include the migration SQL. Returns null if the version cannot
be found.
Implementation
@override
Future<MigrationVersionDefinition?> readVersionDefinition(
String version,
) async {
final versionDirectory = await _resolveVersionDirectory(version);
if (versionDirectory == null) {
return null;
}
var definition = await _readRequiredProtocolFile<DatabaseDefinition>(
MigrationConstants.databaseDefinitionJSONPath(_projectDirectory, version),
);
var migration = await _readRequiredProtocolFile<DatabaseMigration>(
MigrationConstants.databaseMigrationJSONPath(
_projectDirectory,
version,
),
);
return MigrationVersionDefinition(
version: version,
definition: normalizeDefinitionToV2(definition),
projectDefinition: normalizeDefinitionToV2(
await _readRequiredProtocolFile<DatabaseDefinition>(
MigrationConstants.databaseDefinitionProjectJSONPath(
_projectDirectory,
version,
),
),
),
migration: definition.schemaVersion < 2
? normalizeMigrationToV2(migration, definition)
: migration,
);
}