miércoles, 13 de febrero de 2013

Alter table no puede colocar not null

Cuando se hace un alter table ya sea para agregar una columna no se puede agregar not null, puede ser debido a que la tabla puede tener datos y se agrega una columna not null y no tiene valor por defecto con que valor lo va a llenar el motor de base de datos?

Lamentablemente parece que Doctrine no permite definir valores por defecto por lo tanto tendremos que ajustar el DB2Platform para que no incluya en la sentencia el not null.

Esto tiene un efecto secundario:
Si agregamos una columna que deba ser no nula a una tabla que ya exista, este parámetro nunca llegara a la base de datos (a menos que borremos la tabla), la comparación del modelo y la base de datos siempre informará que debe alterar la columna para agregar el not null.