SlideShare una empresa de Scribd logo
1 de 15
Migración de datos en
Drupal 8
Javier Gómez
Drupal Backend Developer
www.codigoweb.es
@fjgomez2
Migración de datos ¿para qué?
• Actualizar drupal desde una versión anterior 7, 6, ….
• Importar datos desde otros cms
• wordpress
• joomla
• etc
• Importar datos desde otras fuentes de datos
• MySQL
• CSV
• JSON
• XML
De Drupal 7 a Drupal 8
• No todo son datos, hay que migrar funcionalidad
• Módulos contrib, la mayoría ya están migrados, pero no todos
• https://www.bluespark.com/status-top-100-contributed-modules-drupal-8
• http://d8upgrade.org (te mandan un informe basado en los módulos de tu drupal 7)
• Módulos custom, hay que volverlos a programar
• Temas
• Rules
• Pero ¿Cómo lo hacemos? (marzo 2017)
• Drupal 7: Analizar funcionalidades y estructura de contenido
• Instalación limpia de Drupal 8 añadiendo funcionalidades y estructura
• Importar datos desde Drupal 7
migrate_drupal
• Sub-módulo de migrate en core para la importación de Drupal 6 y 7
• Está en fase experimental
• http://my-drupal-8/upgrade
• Realiza importación no sólo de contenido, se intenta importar parte de la
configuración
• Es poco fiable y no se recomienda su utilización (marzo 2017)
• https://www.drupal.org/project/migrate_upgrade
• Permite importar directamente desde D6 y D7 sin tener que programar
• Es experimental y no es 100% fiable (marzo 2017)
migrate_upgrade
Feeds y Migrate
• Drupal 7 (2 tendencias)
• Feeds: configurable desde interface
• Migrate: había que programar pero era más potente
• Para la mayoría de los casos servían los 2
• Eran módulos contrib
• Drupal 8
• Migrate está en el core
• Feeds existe como módulo contribuido en versión dev
• Otras opciones: Módulo custom
Migrate
• Se programa la importación en código (módulo custom)
• Se maneja desde línea de comandos con drush
• Permite volver atrás (Rollback)
• Permite hacer depuración (debug)
• Módulos contrib complementarios
• https://www.drupal.org/project/migrate_tools
• Necesario para utilizar drush
• https://www.drupal.org/project/migrate_plus
Programar una migración
• Es más complejo que en Drupal 7
• Requiere tener conocimiento sobre:
• Programación de módulos en Drupal 8 / Symfony
• Funcionamiento de Migrate
• OOP en PHP
• No partimos de 0, github, github
• https://github.com/wunderkraut/migrate_source_example
• https://github.com/Ymbra/migrate_default_content
• ….
Anatomía de una migración
• {mi-modulo}.info.yml y {mi-modulo}.module
• Fichero necesario para instalar el módulo
• Carpeta /config/install
• Archivos YAML de configuración
• Carpeta /src/Plugin/migrate/source
• Clases de la Migración
• Carpeta /source
• Ubicación de los archivos a importar (csv, json), excepto BD
Ejemplo 1 (CSV)
Ejemplo 2 (DB)
drush migrate
• drush migrate-import (mi)
• Ejecuta la migración
• drush migrate-status (ms)
• Muestra el estado de las migraciones
• drush migrate-rollback (mr)
• Revierte una migración y deja todo como estaba
• Otros comandos
• drush migrate-reset-status (mrs)
• drush migrate-stop (mst)
• drush migrate-messages (mmsg)
drush migrate-import
• Sintaxis:
• drush mi {nombre-de-la-migración} [opciones]
• Opciones
• --all: procesa todas las migraciones
• --group {nombre_grupo}: Procesa las migraciones de un grupo
• --limit {n}: procesa n registros (ideal para testeo)
• --force: Fuerza el procesado aunque fallen dependencias
• --tag: nombre de la etiqueta a procesar
• --execute-dependencies: Ejecuta antes las dependencias
• --feedback: frecuencia del refresco de mensajes
• --idlist: lista de ids a procesar separada por comas
DEMO
Preguntas?
• https://www.drupal.org/docs/8/api/migrate-api
Documentación
Gracias!!
Javier Gómez
Drupal Backend Developer (EUIPO)
www.codigoweb.es
@fjgomez2
www.linkedin.com/in/codigoweb

Más contenido relacionado

La actualidad más candente

Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásCristian Romero Matesanz
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadInclamSoft
 
Servidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyServidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyAlvaro García Loaisa
 
Taller de Drupal - Sesión 2
Taller de Drupal - Sesión 2Taller de Drupal - Sesión 2
Taller de Drupal - Sesión 2SEAT, S.A.
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkMario IC
 
Servidores web apache
Servidores web apacheServidores web apache
Servidores web apacheDavid
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmMario IC
 
Programacion web
Programacion webProgramacion web
Programacion webtaniamar
 

La actualidad más candente (16)

Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Maven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerásMaven Divide tu código, pruébalo y vencerás
Maven Divide tu código, pruébalo y vencerás
 
Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
Servidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidadServidores de mapas en alta disponibilidad
Servidores de mapas en alta disponibilidad
 
Servidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValleyServidores de mapas en alta disponibilidad CyLiconValley
Servidores de mapas en alta disponibilidad CyLiconValley
 
5. mapserver
5.  mapserver5.  mapserver
5. mapserver
 
Introducción a Kubernetes
Introducción a KubernetesIntroducción a Kubernetes
Introducción a Kubernetes
 
Taller de Drupal - Sesión 2
Taller de Drupal - Sesión 2Taller de Drupal - Sesión 2
Taller de Drupal - Sesión 2
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Servidores web apache
Servidores web apacheServidores web apache
Servidores web apache
 
Manejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con HelmManejo de packages en Kubernetes con Helm
Manejo de packages en Kubernetes con Helm
 
Semana 3 MONGODB conceptos básicos NOSQL
Semana 3   MONGODB conceptos básicos NOSQLSemana 3   MONGODB conceptos básicos NOSQL
Semana 3 MONGODB conceptos básicos NOSQL
 
Gestión de proyectos con Maven
Gestión de proyectos con MavenGestión de proyectos con Maven
Gestión de proyectos con Maven
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Programacion web
Programacion webProgramacion web
Programacion web
 

Similar a Migración de datos en drupal 8

Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapaMedio y forma
 
Taller drupal 8 tuxtepec
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepecMedio y forma
 
Drush Make & Feature Server - Drupal Camp Spain 2010
Drush Make & Feature Server - Drupal Camp Spain 2010Drush Make & Feature Server - Drupal Camp Spain 2010
Drush Make & Feature Server - Drupal Camp Spain 2010Atenea tech
 
Drupalcamp 2014 reconstruir un medio digital idealista news
Drupalcamp 2014   reconstruir un medio digital idealista newsDrupalcamp 2014   reconstruir un medio digital idealista news
Drupalcamp 2014 reconstruir un medio digital idealista newsMartín .
 
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Rodrigo Alfaro
 
Migración de datos en drupal 7 migrate - feeds
Migración de datos en drupal 7   migrate - feedsMigración de datos en drupal 7   migrate - feeds
Migración de datos en drupal 7 migrate - feedsJavier Gomez
 
Presentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol XalapaPresentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol XalapaMedio y forma
 
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7Keopx
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian Valero
 
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7Keopx
 
Drush la navaja suiza de drupal
Drush   la navaja suiza de drupalDrush   la navaja suiza de drupal
Drush la navaja suiza de drupalJavier Gomez
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteJavier Gomez
 
Curso básico de drupal 8
Curso básico de drupal 8Curso básico de drupal 8
Curso básico de drupal 8Medio y forma
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPKeopx
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalSiteGround España
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10Keopx
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal CcrtvPedro Cambra
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a DrupalPedro Cambra
 

Similar a Migración de datos en drupal 8 (20)

Presentando drupal en xalapa
Presentando drupal en xalapaPresentando drupal en xalapa
Presentando drupal en xalapa
 
Taller drupal 8 tuxtepec
Taller drupal 8 tuxtepecTaller drupal 8 tuxtepec
Taller drupal 8 tuxtepec
 
Drush Make & Feature Server - Drupal Camp Spain 2010
Drush Make & Feature Server - Drupal Camp Spain 2010Drush Make & Feature Server - Drupal Camp Spain 2010
Drush Make & Feature Server - Drupal Camp Spain 2010
 
Drupalcamp 2014 reconstruir un medio digital idealista news
Drupalcamp 2014   reconstruir un medio digital idealista newsDrupalcamp 2014   reconstruir un medio digital idealista news
Drupalcamp 2014 reconstruir un medio digital idealista news
 
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
Reconstruir un medio digital: idealista/news - Drupalcamp Spain 2014
 
Migración de datos en drupal 7 migrate - feeds
Migración de datos en drupal 7   migrate - feedsMigración de datos en drupal 7   migrate - feeds
Migración de datos en drupal 7 migrate - feeds
 
Presentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol XalapaPresentando Drupal en el Flisol Xalapa
Presentando Drupal en el Flisol Xalapa
 
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
DrupalCamp Spain 2014: Introducción al desarrollo de módulos en Drupal 7
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
e-Ghost 2014: introducción al desarrollo de módulos en drupal 7
 
Drush la navaja suiza de drupal
Drush   la navaja suiza de drupalDrush   la navaja suiza de drupal
Drush la navaja suiza de drupal
 
Taller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parteTaller de introducción a drupal 7 1ª parte
Taller de introducción a drupal 7 1ª parte
 
Drupal workflow
Drupal workflowDrupal workflow
Drupal workflow
 
Curso básico de drupal 8
Curso básico de drupal 8Curso básico de drupal 8
Curso básico de drupal 8
 
Herramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMPHerramientas de trabajo para entorno LAMP
Herramientas de trabajo para entorno LAMP
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
 
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
[DrupalCampSpain2023] Introducción al desarrollo de módulos en Drupal 10
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Presentacion Drupal Ccrtv
Presentacion Drupal CcrtvPresentacion Drupal Ccrtv
Presentacion Drupal Ccrtv
 
Introduccion técnica a Drupal
Introduccion técnica a DrupalIntroduccion técnica a Drupal
Introduccion técnica a Drupal
 

Migración de datos en drupal 8

  • 1. Migración de datos en Drupal 8 Javier Gómez Drupal Backend Developer www.codigoweb.es @fjgomez2
  • 2. Migración de datos ¿para qué? • Actualizar drupal desde una versión anterior 7, 6, …. • Importar datos desde otros cms • wordpress • joomla • etc • Importar datos desde otras fuentes de datos • MySQL • CSV • JSON • XML
  • 3. De Drupal 7 a Drupal 8 • No todo son datos, hay que migrar funcionalidad • Módulos contrib, la mayoría ya están migrados, pero no todos • https://www.bluespark.com/status-top-100-contributed-modules-drupal-8 • http://d8upgrade.org (te mandan un informe basado en los módulos de tu drupal 7) • Módulos custom, hay que volverlos a programar • Temas • Rules • Pero ¿Cómo lo hacemos? (marzo 2017) • Drupal 7: Analizar funcionalidades y estructura de contenido • Instalación limpia de Drupal 8 añadiendo funcionalidades y estructura • Importar datos desde Drupal 7
  • 4. migrate_drupal • Sub-módulo de migrate en core para la importación de Drupal 6 y 7 • Está en fase experimental • http://my-drupal-8/upgrade • Realiza importación no sólo de contenido, se intenta importar parte de la configuración • Es poco fiable y no se recomienda su utilización (marzo 2017) • https://www.drupal.org/project/migrate_upgrade • Permite importar directamente desde D6 y D7 sin tener que programar • Es experimental y no es 100% fiable (marzo 2017) migrate_upgrade
  • 5. Feeds y Migrate • Drupal 7 (2 tendencias) • Feeds: configurable desde interface • Migrate: había que programar pero era más potente • Para la mayoría de los casos servían los 2 • Eran módulos contrib • Drupal 8 • Migrate está en el core • Feeds existe como módulo contribuido en versión dev • Otras opciones: Módulo custom
  • 6. Migrate • Se programa la importación en código (módulo custom) • Se maneja desde línea de comandos con drush • Permite volver atrás (Rollback) • Permite hacer depuración (debug) • Módulos contrib complementarios • https://www.drupal.org/project/migrate_tools • Necesario para utilizar drush • https://www.drupal.org/project/migrate_plus
  • 7. Programar una migración • Es más complejo que en Drupal 7 • Requiere tener conocimiento sobre: • Programación de módulos en Drupal 8 / Symfony • Funcionamiento de Migrate • OOP en PHP • No partimos de 0, github, github • https://github.com/wunderkraut/migrate_source_example • https://github.com/Ymbra/migrate_default_content • ….
  • 8. Anatomía de una migración • {mi-modulo}.info.yml y {mi-modulo}.module • Fichero necesario para instalar el módulo • Carpeta /config/install • Archivos YAML de configuración • Carpeta /src/Plugin/migrate/source • Clases de la Migración • Carpeta /source • Ubicación de los archivos a importar (csv, json), excepto BD
  • 11. drush migrate • drush migrate-import (mi) • Ejecuta la migración • drush migrate-status (ms) • Muestra el estado de las migraciones • drush migrate-rollback (mr) • Revierte una migración y deja todo como estaba • Otros comandos • drush migrate-reset-status (mrs) • drush migrate-stop (mst) • drush migrate-messages (mmsg)
  • 12. drush migrate-import • Sintaxis: • drush mi {nombre-de-la-migración} [opciones] • Opciones • --all: procesa todas las migraciones • --group {nombre_grupo}: Procesa las migraciones de un grupo • --limit {n}: procesa n registros (ideal para testeo) • --force: Fuerza el procesado aunque fallen dependencias • --tag: nombre de la etiqueta a procesar • --execute-dependencies: Ejecuta antes las dependencias • --feedback: frecuencia del refresco de mensajes • --idlist: lista de ids a procesar separada por comas
  • 13. DEMO
  • 15. Gracias!! Javier Gómez Drupal Backend Developer (EUIPO) www.codigoweb.es @fjgomez2 www.linkedin.com/in/codigoweb