Ver Mensaje Individual
  #6  
Antiguo 16-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 30
jachguate Va por buen camino
Para una futura ocasión... no hace falta hacer los cambios en una estructura limpia.

Podes ir haciendo Alter, insert, drop sobre las tablas con datos. Si cambias de tipos de datos a campos pas pequeños (que no lo permite el motor), regularmente vas a tener que cambiar de nombre a la columna vieja, crear la nueva y voltearle los datos, para luego eliminar la última:

Imaginate una tabla con un campo desc, que es varchar(100) y algo como:

Código SQL [-]
Alter table producto alter column desc to desc_old;
Alter table producto add desc varchar(75);

Update producto 
  set desc = substr(desc_old, 1, 75);

Alter table producto drop desc_old;

Es un poco mas trabajoso cuando haces tus scripts de actualización... pero siempre funcionará y no tenes que estar haciendo luego procesos de migración a de tu sistema a tu mismo sistema... yo eso me lo reservo cuando traigo datos de otro lado.

Además, de esta forma, podes llegar a tener varias (a veces muchas) instalaciones, y el trabajo siempre estará hecho desde el principio y tus actualizaciones serán mucho mas sencillas.

Es cuestión, primero, de ser ordenado, y luego de tener un poco de ingenio y paciencia para descubrir la forma de actualizarlo todo (que todo se puede) sobre los datos vivos.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita