toSqliteSql method

String toSqliteSql({
  1. required DatabaseDefinition databaseDefinition,
})

Implementation

String toSqliteSql({required DatabaseDefinition databaseDefinition}) {
  var out = '';

  switch (type) {
    case DatabaseMigrationActionType.deleteTable:
      out += '--\n';
      out += '-- ACTION DROP TABLE\n';
      out += '--\n';
      // SQLite doesn't support CASCADE in DROP TABLE. It's ignored if FKs
      // are off (default for migrations) or enforced if on.
      out += 'DROP TABLE "$deleteTable";\n';
      out += '\n';
      break;
    case DatabaseMigrationActionType.createTable:
      out += '--\n';
      out += '-- ACTION CREATE TABLE\n';
      out += '--\n';
      out += createTable!.tableCreationToSql();
      break;
    case DatabaseMigrationActionType.createTableIfNotExists:
      out += '--\n';
      out += '-- ACTION CREATE TABLE IF NOT EXISTS\n';
      out += '--\n';
      out += createTable!.tableCreationToSql(ifNotExists: true);
      break;
    case DatabaseMigrationActionType.alterTable:
      out += '--\n';
      out += '-- ACTION ALTER TABLE\n';
      out += '--\n';
      out += alterTable!.toSql(databaseDefinition);
      break;
  }

  return out;
}