Direkt zum Inhalt
Bild
2-opensenselabs-banner.jpg

HowTo: Inhalte aus einer CSV-Datei nach Drupal 8 migrieren

AI-Translated
article publisher

Gaurav

Drupal

Ein Upgrade beinhaltet die Verschiebung vieler Dateien und Inhalte von einer Website auf eine andere. Obwohl es eine Reihe von Modulen gibt, die Ihnen bei der Migration zu und in Drupal helfen, kann der Prozess unübersichtlich werden. 

Eine Sanduhr vor einem weißen Hintergrund


Die Migration von Inhalten kann verschiedene Bedeutungen haben, und auch der Umfang der Dateiformate – JSON, CSV, Tabellenkalkulation oder Textdateien – ist wichtig.

In diesem Artikel werde ich die Migration von Taxonomie-Begriffen mithilfe von CSV-Dateien nach Drupal 8 demonstrieren. Dank des Entity-basierten Systems von Drupal ist der Migrationsprozess für alle Arten von Entities mehr oder weniger ähnlich. Sobald Sie den Migrationsprozess beherrschen, können Sie problemlos Nodes, Benutzer, Vokabulare und benutzerdefinierte Entity-Daten migrieren.

Sie können verschiedene Module für die Migration zu Drupal 8 verwenden. 

Drupal 8 Core bietet die Module Migrate und Migrate Drupal, die bei der Migration von Drupal 6/7 zu Drupal 8 nützlich sind. In anderen Fällen müssen wir Contributed Modules verwenden. Installieren Sie Migrate Plus, das eine leistungsstarke API für die Datenmigration aus CSV-Dateien und Tabellenkalkulationen bietet und eine der wichtigsten Abhängigkeiten darstellt.

Wir werden einen Anwendungsfall der Liste der Bundesstaaten betrachten, bei dem unsere Taxonomie-Begriffe die Liste der Bundesstaaten sein werden. Fangen wir an.

Lesen Sie Upgrade auf Drupal 8 | Vollständige Migrationsanleitung

Installation

  • Laden Sie das Modul Migrate Source CSV herunter und installieren Sie es auf Ihrer Drupal-Website. Verwenden Sie Composer, um alle erforderlichen Abhängigkeiten zu installieren.
composer require ‘drupal/migrate_source_csv:^2.2’
  • Aktivieren Sie das Modul über das Menü "Erweitern" oder den Drush-Befehl. 
$ drush en migrate_tools

$ drush en migrate_source_csv
  • In diesem Beispiel werde ich die Daten der US-Bundesstaaten migrieren. Ich habe bereits ein Vokabular als "Bundesstaaten" mit den Feldern Name (Standardfeld in der Taxonomie) und Bundesstaat-Code (die Abkürzung) erstellt.
     
  • Erstellen Sie eine CSV-Datei mit Headern, die die Feldnamen enthalten, und fügen Sie auch ein ID-Feld hinzu, das als eindeutige Kennung dient und später auch bei der Migration verwendet werden kann, falls das Vokabular der Bundesstaaten von einem Referenzfeld verwendet wird. Hier ist die CSV-Datei, die ich vorbereitet habe:
     

    ID

    Bundesstaat

    Abkürzung

    1

    Alabama

    AL

    2

    Alaska

    AK

    3

    Arizona

    AZ

    4

    Kalifornien

    CA

    5

    Colorado

    CO

    und so weiter.
     
  • Der nächste und wichtigste Schritt ist das Schreiben eines Migrations-Plugins, einer .yml-Datei, die die Zuordnung zwischen Daten in CSV und Drupal-Feldern beschreibt. 

    Hier ist das Migrations-Plugin, das ich geschrieben habe:
    id: state_data
    class: null
    field_plugin_method: null
    cck_plugin_method: null
    migration_tags:
      - 'USA States'
    migration_group: default
    label: 'State migration from CSV'
    source:
      plugin: csv
      path: 'public://USAStates.csv'
      header_row_count: 1
      keys:
        - id
      column_names:
        -
          id: id
        -
          title: state
        -
          abbreviation: abbreviation
    process:
      name: title
      field_abbreviation: abbreviation
    destination:
      plugin: 'entity:taxonomy_term'
      default_bundle: state
    migration_dependencies: null
    Ich habe eine Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’ bereitgestellt. Die ID dient als eindeutige Kennung für den Migrationsprozess. Die übrigen oben genannten Schlüssel werden in dieser Migration nicht benötigt.

    Andere Schlüssel und ihre Bedeutung:
     
    • Migration Tags: Diese werden als Beschreibung in der Migrations-UI angezeigt.
       
    • Migration Group: Dies ist ein wichtiges Feld, falls Sie verschiedene Migrationsprozesse haben. Ich habe die Standardgruppe für diese Migration verwendet.
       
    • Label: Dies ist auch ein Beschreibungsfeld für die Migration, das in der Migrations-UI angezeigt wird.
       
    • Source: Dies ist der wichtige Schlüssel, und wir geben den Typ des Plugins an, d. h. CSV in unserem Fall, den Pfad unserer CSV-Datei, die Anzahl der Header-Zeilen, damit die Migrations-API zwischen Daten und Beschriftungen unterscheiden kann, den Schlüssel, d. h. die eindeutige Kennung in der CSV-Datei.

      Als Nächstes haben wir eine Zuordnung von Spalten in CSV mit temporären Kennungen, die im Prozessschlüssel verwendet werden. Der Prozessschlüssel definiert die Zuordnung mit dem Drupal-Feld und einer temporären Kennung im Format (Drupal-Feld: Temporäre Kennung).
       
    • Destination: Dieser Schlüssel wird verwendet, um die Ziel-Entity und das Bundle anzugeben, falls vorhanden. Da wir Term-Daten migrieren, habe ich ‘taxonomy_term’ und das Bundle ‘state’ verwendet.
       
  • Sobald Sie das Plugin erstellt haben, ist es an der Zeit, das System darüber zu informieren. Das Migrations-Plugin kann über das Menü "Einzelkonfigurationsimport" (/admin/config/development/configuration/single/import) importiert werden. Fügen Sie Ihr Plugin mit dem Konfigurationstyp "Migration" ein und klicken Sie auf "Importieren".Einzelkonfiguration, Auswahl von Migration als Konfigurationstyp und Code, der im nächsten Block hinzugefügt wird
  • Sobald Sie das Migrations-Plugin importiert haben, können Sie den Migrationsprozess über die UI oder den Drush-Befehl ausführen.

    UI: Gehen Sie zu /admin/structure/migrate, und unter dem Menü "Migrationsliste" können Sie den Migrationsprozess für den jeweiligen Migrationstyp ausführen.

    Drush: Geben Sie den Drush-Befehl ‘drush mi state_data’ ein, wobei state_data die eindeutige ID der Migration des Bundesstaates ist.

  • Sobald der Migrationsprozess abgeschlossen ist, werden alle Begriffe erstellt und das Abkürzungsfeld wird ebenfalls gefüllt.

  • Sie können die Migration auch über die Migrations-UI rückgängig machen, fortsetzen und stoppen, falls etwas schief geht oder Sie später noch zusätzliche Daten migrieren müssen. 

  • Falls Sie nach dem Importieren Änderungen am Plugin vornehmen müssen, müssen Sie zuerst seine Konfigurationsdatei von (admin/config/development/configuration/single/export) exportieren und sie dann erneut importieren. 
     

    Liste der migrierten Begriffe und die Überschrift als Bundesstaaten

    Und das war's!

So können Sie Inhalte aus einer CSV-Datei nach Drupal 8 migrieren. Hinterlassen Sie unten einen Kommentar, falls Sie eine Frage haben. 

Abonnieren

Ready to start your digital transformation journey with us?

Verwandte Blogs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

Zurück von der DrupalCon Atlanta 2025: Ein Meilenstein für OpenSense Labs

„Fit. Schnell. Für die Ewigkeit gebaut.“ Das war nicht nur ein Slogan, sondern die Denkweise, mit der wir zur DrupalCon…

Erklärbare KI-Tools: SHAPs Stärke in der KI

Explainable AI tools Explainable AI And SHAP OpenSense Labs

Wissen Sie, was erklärbare KI-Tools sind? Erklärbare KI-Tools sind Programme, die zeigen, wie eine KI ihre Entscheidungen…

KI-Chatbots: Präzision und Persönlichkeit in Perfektion

Creating AI Chatbot OpenSense Labs

In der Welt der künstlichen Intelligenz ist die Entwicklung eines KI-Chatbots, der nicht nur akkurate Informationen liefert…