Skip to content

1.2 Migracion Altec

Jonathan edited this page Jul 24, 2018 · 2 revisions

Migración Altec

Generación del archivo a migrar

  1. Se partió de un archivo de Google Sheets
  2. 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
  3. El archivo generado se trabajó en fases que se detallan a continuación.

Fases de la migració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.

Fase 1 - Organizaciones

  1. Agrupar organizaciones por nombre
  2. Buscar countryId en la DB en base a la columna orgPais
  3. Buscar regionId en la DB en base a la columna orgCiudad
  4. Buscar el organisationTypeID en la BD en base a la columna OrgTipoOrganizacion
  5. Setear projectsCount de acuerdo a la cantidad de lineas agrupadas en base al nombre
  6. Parsear la columna OrgWeb en caso de ser posible y asignarla a url
  7. address = OrgCiudad, OrgPais
  8. created = Fecha actual formato UTC
  9. isPublished = false
  10. isWaitingApproval = true
  11. name = OrgNombreOrganizacion (Máximo 250 caracteres)
  12. description (vacío)
  13. logo (vacío)
  14. shortDescription (vacío)
  15. headerImage (vacío)
  16. importID (vacío)

Fase 2 - Proyectos

  1. Agrupar proyectos en base al nombre de la iniciativa
  2. Buscar countryId en la DB en base a la columna orgPais
  3. Buscar regionId en la DB en base a la columna orgCiudad
  4. created = Fecha actual formato UTC
  5. isPublished = false
  6. isWaitingApproval = true
  7. name = NombreIniciativa (Máximo 250 caracteres)
  8. Parsear la columna OrgWeb en caso de ser posible y asignarla a url
  9. description (vacío)
  10. logo (vacío)
  11. shortDescription (vacío)
  12. headerImage (vacío)
  13. socialImpact = (vacío)
  14. importID (vacío)
  15. status = "closed"
  16. organisationsCount = CantidadOrganizaciones
  17. ownerID = 0 (Usuario por defecto)

Fase 3 - Agregar proyectos a organizaciones

En esta fase se agregan los proyectos dentro de cada organización. Para esto se utiliza la tabla organisation-projects