Pasos para migrar data de una Base de Datos en Latin8, conectada a Visual basic(Espacios en Blancos)
De CidesaWiki
Revisión a fecha de 16:56 30 sep 2009; Lhernandez (Discusión | contribuciones)
- Creamos el backup de la base de datos de produccion, y lo colocamos en otro servido en el mismo con otro nombre, para no tocar la base de datos original.
- Creamos los campos ids de todas las tablas, así como las secuencias de cada tabla mediante la función crea_id. ver Crear_campos_ids_en_tablas_de_la_base_de_datos
- Descargamos y configuramos el SIGA-SL en el servidor.
- Actualizamos la estructura de la base de datos, generando los sqls de diferencias entre la base de datos a migrar y el modelo. Ver Actualizar_Base_de_datos_en_base_al_modelo
- Eliminamos los espacios en blanco mediante la instrucción de consola de symfony propel-trim-database. Ver Eliminar_espacios_en_blanco_en_bases_de_dato
- Ejecutamos por Pgadmin y por la consola de symfony los scripts generados.
- Se debe cambiar la codificación por defecto de la base de datos, se debe configurar en el archivo database.yml la opción de "encoding" para forzar a que las conexiones y comunicación entra propel y wiki se realice en la codificacion identificada por esta opción, por ejemplo:
all: propel: class: sfPropelDatabase param: phptype: pgsql hostspec: localhost database: SIMA username: wiki password: wiki schema: SIMA002 encoding: UTF8 sima_user: class: sfPropelDatabase param: phptype: pgsql hostspec: localhost database: SIMA username: cidesa password: cidesa schema: SIMA_USER encoding: UTF8
Este ejemplo le dice a propel que al conectarse configure la conexion para que todo lo enviado y recibido a wiki sea en esa codificación.
- Se deben verificar las tablas del esquema "SIMA_USER", generalmente solo falta el campo "nomyml" en la tabla "aplicacion" de tipo VARCHAR(50).
- Se Cambian las contraseñas de los usuarios en la tabla usuarios del esquema "SIMA_USER", ejecutando el siguiente script.
update "SIMA_USER".empresa set passemp=('SIMA' || codemp) alter table "SIMA_USER".usuarios alter column pasuse type VARCHAR(100); update "SIMA_USER".usuarios set pasuse='md5' || md5(trim(usuarios.loguse) || trim(usuarios.pasuse) ); insert into "SIMA_USER".apli_user (select 'AU0' as codapl, a.loguse, b.codemp, 'menu' as nompoc, 15 as priuse from "SIMA_USER".usuarios a, "SIMA_USER".empresa b); insert into "SIMA_USER".apli_user (select 'AU0' as codapl, a.loguse, b.codemp, 'catalogo' as nompoc, 15 as priuse from "SIMA_USER".usuarios a, "SIMA_USER".empresa b);