toPgSql method

String toPgSql()

Implementation

String toPgSql() {
  var out = '';

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

  // Drop foreign keys
  for (var deleteKey in deleteForeignKeys) {
    out += 'ALTER TABLE "$name" DROP CONSTRAINT "$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);
  }

  // Add foreign keys
  for (var addKey in addForeignKeys) {
    out += addKey.toPgSql(tableName: name);
  }
  return out;
}