funvisis / sismocaracas

Proyecto web basado en Django para regitrar las inspecciones realizadas en el marco del proyecto «Sismo Caracas»
2 stars 0 forks source link

Agregar nuevos campos "Urb. Barrio" y "Sector" y ocultar "Urb, Sector, Barrio" #10

Closed jgomo3 closed 12 years ago

jgomo3 commented 12 years ago

La intención es picar el antiguo campo "Urb, Sector, Barrio" por dos campos:

En vez de conservar uno cambiándole el nombre y agregar uno nuevo, creo que lo correcto es simplemente agregar los dos campos nuevos y ocultar el viejo, ya que el viejo tiene datos que se levantaron alguna vez y debemos respetar la interpretación que se le dio a esos datos al estar asociados a ses campo.

jgomo3 commented 12 years ago

Primer cambio:

ALTER TABLE structuralinspections_building
   ADD COLUMN urbanization_neighborhood character varying(100) NOT NULL DEFAULT '';
jgomo3 commented 12 years ago

Segundo cambio:

ALTER TABLE structuralinspections_building
   ADD COLUMN sector character varying(100) NOT NULL DEFAULT '';
jgomo3 commented 12 years ago

Debido a tener la restricción de NOT NULL es necesario el DEFAULT '' durante la creación del nuevo campo para que se llenen de algún valor en ese campo nuevo los registro viejos. Si no se coloca, no se puede ni crear el campo porque al ser NULL su valor en todos los registros viejos, violaría la restrición NOT NULL

Pero luego de hacer eso, hay que quitarle ese DEFAULT '' a los campos nuevos y ponerlo al viejo ya que no se va a utilizar más.

jgomo3 commented 12 years ago
ALTER TABLE structuralinspections_building
   ALTER COLUMN urbanization SET DEFAULT '';

Creo que con esto basta. Tal vez no hace falta eliminarle el valor por defecto a las columnas nueva. Hay que discutirlo.