toPgSql method
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;
}