readVersionSql method

  1. @override
Future<MigrationVersionSql?> readVersionSql(
  1. String version
)
override

Reads the stored migration SQL for running migrations.

Does not include the project definition. Returns null if the version cannot be found.

Implementation

@override
Future<MigrationVersionSql?> readVersionSql(String version) async {
  final versionDirectory = await _resolveVersionDirectory(version);
  if (versionDirectory == null) {
    return null;
  }

  final definition = await _readRequiredProtocolFile<DatabaseDefinition>(
    MigrationConstants.databaseDefinitionJSONPath(_projectDirectory, version),
  );

  return MigrationVersionSql(
    version: version,
    moduleName: definition.moduleName,
    definitionSql: await _readRequiredFile(
      MigrationConstants.databaseDefinitionSQLPath(
        _projectDirectory,
        version,
      ),
    ),
    migrationSql: await _readRequiredFile(
      MigrationConstants.databaseMigrationSQLPath(
        _projectDirectory,
        version,
      ),
    ),
  );
}