toPgSql method
String
toPgSql(
{ - required String tableName,
- required ColumnDefinition columnDefinition,
})
Implementation
String toPgSql({
required String tableName,
required ColumnDefinition columnDefinition,
}) {
var out = '';
if (addNullable) {
out +=
'ALTER TABLE "$tableName" ALTER COLUMN "$physicalName"'
' DROP NOT NULL;\n';
} else if (removeNullable) {
out +=
'ALTER TABLE "$tableName" ALTER COLUMN "$physicalName"'
' SET NOT NULL;\n';
}
if (changeDefault) {
if (newDefault == null) {
out +=
'ALTER TABLE "$tableName" ALTER COLUMN "$physicalName"'
' DROP DEFAULT;\n';
return out;
} else {
var newDefaultSql = columnDefinition.columnType.getPgColumnDefault(
newDefault,
tableName,
);
out +=
'ALTER TABLE "$tableName" ALTER COLUMN "$physicalName"'
' SET DEFAULT $newDefaultSql;\n';
}
}
if (newType != null) {
var typeName = newType!.name;
out +=
'ALTER TABLE "$tableName" ALTER COLUMN "$columnName"'
' SET DATA TYPE $typeName USING "$columnName"::$typeName;\n';
}
return out;
}