toSqliteSql method

String toSqliteSql({
  1. required DatabaseDefinition databaseDefinition,
  2. required List<DatabaseMigrationVersionModel> installedModules,
  3. required List<DatabaseMigrationVersionModel> removedModules,
})

Implementation

String toSqliteSql({
  required DatabaseDefinition databaseDefinition,
  required List<DatabaseMigrationVersionModel> installedModules,
  required List<DatabaseMigrationVersionModel> removedModules,
}) {
  var out = '';

  out += 'BEGIN;\n';
  out += '\n';

  for (var action in actions) {
    out += action.toSqliteSql(databaseDefinition: databaseDefinition);
  }

  out += _sqlStoreColumnTypesForMigrations(
    databaseDefinition.tables,
    installedModules.first,
  );

  if (installedModules.isNotEmpty) {
    out += '\n';
  }

  for (var module in installedModules) {
    out += _sqlStoreMigrationVersion(
      module: module.module,
      version: module.version,
    );
  }

  if (removedModules.isNotEmpty) {
    out += '\n';
    out += _sqlRemoveMigrationVersion(removedModules);
  }

  out += '\n';
  out += 'COMMIT;\n';

  return out;
}