toPgSql method

String toPgSql({
  1. required String tableName,
  2. required ColumnDefinition columnDefinition,
})

Implementation

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

  return out;
}