toPgSql method

String toPgSql()

Implementation

String toPgSql() {
  var out = '';

  // Drop indexes
  for (var deleteIndex in deleteIndexes) {
    out += 'DROP INDEX "$deleteIndex";\n';
  }

  // Drop foreign keys. Uses IF EXISTS to avoid a hard failure for constraints
  // of dropped tables or columns.
  for (var deleteKey in deleteForeignKeys) {
    out += 'ALTER TABLE "$name" DROP CONSTRAINT IF EXISTS "$deleteKey";\n';
  }

  // Drop columns
  for (var deleteColumn in deleteColumns) {
    out += 'ALTER TABLE "$name" DROP COLUMN "$deleteColumn";\n';
  }

  // Add columns
  for (var addColumn in addColumns) {
    out += 'ALTER TABLE "$name" ADD COLUMN ${addColumn.toPgSqlFragment()};\n';
  }

  // Modify columns
  for (var alterColumn in modifyColumns) {
    out += alterColumn.toPgSql(tableName: name);
  }

  // Add indexes
  for (var addIndex in addIndexes) {
    out += addIndex.toPgSql(tableName: name);
  }

  return out;
}