-
Notifications
You must be signed in to change notification settings - Fork 0
1.2 Migracion Altec
Jonathan edited this page Jul 24, 2018
·
2 revisions
- Se partió de un archivo de Google Sheets
- Se transformo el archivo manualmente para que contenga las siguientes columnas y se exportó como csv:
- NombreIniciativa
- CantidadOrganizaciones
- LineaFinanciamiento
- ParticipacionCiudadana
- TransparenciaRendicionCuentas
- PeriodismoDatos
- MapeoCiudadano
- MonitoreoServiciosPublicos
- UsoDatosAbiertos
- OtraTematica
- OrgNombreOrganizacion
- OrgTipoOrganizacion
- OrgPais
- OrgCiudad
- OrgWeb
- OrgPrincipalAlinza
- OrgDesarrolloPlataformasAplicativosTecnologicos
- OrgVariosPaises
- OrgSpinOffIncubacion
- OrgParticipacionCiudadana
- OrgTransparenciaRendicionCuentas
- OrgParlamentoAbierto
- OrgComprasPublicas
- OrgPeriodismoDatos
- OrgMapeoCiudadano
- OrgMonitoreoServiciosPublicos
- OrgOtraTematica
- EscalamientoPlataformaExistente
- AdaptacionPlataformaExistente
- DesarrolloPlataformaNueva
- Otros
- El archivo generado se trabajó en fases que se detallan a continuación.
El proceso de migración consiste en distintas fases. Cada una se encarga de transformar los datos y persistirlos en la base de datos.
- Agrupar organizaciones por nombre
- Buscar countryId en la DB en base a la columna orgPais
- Buscar regionId en la DB en base a la columna orgCiudad
- Buscar el organisationTypeID en la BD en base a la columna OrgTipoOrganizacion
- Setear projectsCount de acuerdo a la cantidad de lineas agrupadas en base al nombre
- Parsear la columna OrgWeb en caso de ser posible y asignarla a url
- address = OrgCiudad, OrgPais
- created = Fecha actual formato UTC
- isPublished = false
- isWaitingApproval = true
- name = OrgNombreOrganizacion (Máximo 250 caracteres)
- description (vacío)
- logo (vacío)
- shortDescription (vacío)
- headerImage (vacío)
- importID (vacío)
- Agrupar proyectos en base al nombre de la iniciativa
- Buscar countryId en la DB en base a la columna orgPais
- Buscar regionId en la DB en base a la columna orgCiudad
- created = Fecha actual formato UTC
- isPublished = false
- isWaitingApproval = true
- name = NombreIniciativa (Máximo 250 caracteres)
- Parsear la columna OrgWeb en caso de ser posible y asignarla a url
- description (vacío)
- logo (vacío)
- shortDescription (vacío)
- headerImage (vacío)
- socialImpact = (vacío)
- importID (vacío)
- status = "closed"
- organisationsCount = CantidadOrganizaciones
- ownerID = 0 (Usuario por defecto)
En esta fase se agregan los proyectos dentro de cada organización. Para esto se utiliza la tabla organisation-projects