alterColumnNullability method

List<String> alterColumnNullability(
  1. SchemaTable table,
  2. SchemaColumn column,
  3. String? unencodedInitialValue
)
inherited

Implementation

List<String> alterColumnNullability(
    SchemaTable table, SchemaColumn column, String? unencodedInitialValue) {
  if (column.isNullable!) {
    return [
      "ALTER TABLE ${table.name} ALTER COLUMN ${_columnNameForColumn(column)} DROP NOT NULL"
    ];
  } else {
    if (unencodedInitialValue != null) {
      return [
        "UPDATE ${table.name} SET ${_columnNameForColumn(column)}=$unencodedInitialValue WHERE ${_columnNameForColumn(column)} IS NULL",
        "ALTER TABLE ${table.name} ALTER COLUMN ${_columnNameForColumn(column)} SET NOT NULL",
      ];
    } else {
      return [
        "ALTER TABLE ${table.name} ALTER COLUMN ${_columnNameForColumn(column)} SET NOT NULL"
      ];
    }
  }
}