Drupal 8 Migrate Source CSV - Migrando terminos de taxonomias
1. Pasos previos
Los módulos necesarios para realizar esta migración serán los siguientes:
- Activar el modulo Migrate que viene en el núcleo de Drupal 8
- Descargar y activar Migrate Source CSV.
- Descargar y activar Migrate Plus.
- Descargar y activar Migrate Tools.
- Tener la última versión de Drush.
2. Fichero csv
Supongamos que queremos importar un montón de términos en un vocabulario llamado 'mi_vocab', con la siguiente estructura a continuación:
Grupo A
-División A
--Rama A
---Equipo A
---Equipo B
---Equipo C
--Rama B
---Equipo D
-División B
--Rama C
---Equipo E
---Equipo F
---Equipo G
Creamos un archivo CSV normal (misterms.csv) que sea así:
| UUID | VID | NAME | PARENT |
| 100 | mi_vocab | Grupo A | |
| 101 | mi_vocab | División A | 100 |
| 102 | mi_vocab | Rama A | 101 |
| 103 | mi_vocab | Equipo A | 102 |
| 104 | mi_vocab | Equipo B | 102 |
| 105 | mi_vocab | Equipo C | 102 |
| 106 | mi_vocab | Rama B | 101 |
| 107 | mi_vocab | Equipo D | 106 |
| 108 | mi_vocab | División B | 100 |
| 109 | mi_vocab | Rama C | 108 |
| 110 | mi_vocab | Equipo E | 109 |
| 111 | mi_vocab | Equipo F | 109 |
| 112 | mi_vocab | Equipo G | 109 |
Una vez creado, guarde el archivo 'misterms.csv' en la carpeta sites pubic: //, que se define en la página de configuración 'Sistema de archivos' en '/admin/config/media/file-system'
Habitualmente: sites/{nombredelsitio}/archivos
3. Configurar el script de importación
Navega a: Configuración / Sincronización de configuración / Importar / Elemento único (/admin/config/development/configuration/single/import)
En el combo 'Tipo de configuración', selecciona 'Migración'
Pega el siguiente script de configuración y haz clic en el botón 'Importar':
id: import_terms
label: Migrar términos desde un CSV
migration_group: migrated_terms
source:
plugin: csv
path: public://misterms.csv
header_row_count: 1
keys:
- uuid
column_names:
0:
uuid: UUID
1:
vid: VID
2:
name: NAME
3:
parent: PARENT
destination:
plugin: entity:taxonomy_term
process:
vid: vid
name: name
parent:
plugin: migration
migration: import_terms
source: parent4. Comando de Drush
Abre un terminal y en la carpeta raíz del sitio teclea: drush migrate-import import_terms
Puedes encontrar la lista de los comandos Drush Migrate disponibles aquí: https://www.drupal.org/node/1561820
Si recibes un error, puede que necesites cambiar el 'id' para ejecutar de nuevo el comando drush migrate-import.
Si tiene éxito, debes recibir una respuesta indicando que se han importado 13 ítems.
Post basado en la información encontrada entre otras webs en: https://opc.com.au/media/blog/drupal-8-migrate-source-csv-migrating-str…