Migrationen: der Migrationseditor
Setup > Migrationen > Redaktion schreibt YAML-Migrationen im Browser: Sie bauen die Schritte mit Formularen, die
aus jedem Schritttyp entstehen, prüfen die Migration so, wie exp:migration:check es täte, sehen das YAML an und
speichern es in einen Migrationsordner. Die gespeicherte Datei ist eine gewöhnliche Migration: Sie steht auf der
Seite Stand als ausstehend und wird ausgeführt, ausgeliefert und committet wie eine von Hand geschriebene.
Wer den Editor benutzen darf: Benutzer mit der Richtlinie migration/edit (in einer neuen Installation nur
Administrator). Die Datei schreibt der Webserver, der Migrationsordner muss also für ihn beschreibbar sein.
Inhalt
- Eine neue Migration anlegen
- Das Formular eines Schritts
- Die Liste der Schritte
- Prüfen und Vorschau
- Speichern
- Eine Migration ändern
- Eine Migration, die gelaufen ist
- Wenn etwas schiefgeht
- Verwandte Seiten
Eine neue Migration anlegen
- Öffnen Sie Setup > Migrationen und wählen Sie den Reiter Redaktion (
/migration/editor). Die Seite Neue Migration öffnet sich. - Geben Sie den Name der Migration ein: Buchstaben, Ziffern und
_, zum Beispielarchiv_sektion. Die Datei heißt dann<Datum und Uhrzeit>_<Name>.yml, sodass Migrationen in der Reihenfolge laufen, in der sie entstanden. - Wählen Sie Wohin sie kommt: Die Website (der Ordner
migrations/der Site) oder eine aktive Erweiterung mit einem Migrationsordner. - Ändern Sie, wenn nötig, die Kopfzeilen oben im YAML-Text:
# description:zeigt die Seite Stand neben der Migration;# requires:,# environments:und# engines:erklärt das Dateiformat. - Fügen Sie die Schritte hinzu, mit dem Formular unter der Liste (Das Formular eines Schritts) oder als Text im YAML-Text.
- Prüfen, dann Speichern.

Die rechte Spalte listet die YAML-Migrationen: jede YAML-Migration der durchsuchten Ordner, die neueste zuerst, mit ist gelaufen bei denen, die gelaufen sind. Ein Klick öffnet eine im Editor.
Das Formular eines Schritts
- Wählen Sie unter Einen Schritt hinzufügen den Schritttyp (zum Beispiel
section,content_class,role,settings,cache) und drücken Sie Formular anzeigen. - Das Formular entsteht aus der Beschreibung des Schritttyps. Wählen Sie den Modus (
create,update,ensure,delete..., je nach Typ;ensurelegt an, was fehlt, und ändert, was abweicht) und In (steps, oderdownfür die Schritte, die die Migration zurücknehmen). - Füllen Sie die Schlüssel aus. Jedes Feld nennt den Schlüssel, seine Art (Text, ganze Zahl, wahr oder falsch, eine Knoten- oder Objektkennung, eine Liste oder Zuordnung als YAML), die Modi, zu denen es gehört („nur in update, delete, assign“), seinen Vorgabewert und was es tut. Felder anderer Modi bleiben leer.
- Bedingungen, Referenzen und Kommentar (aufklappen) enthält
if(eine Bedingung),references(Name=Wert-Paare, mit den Werten, die der Schritt liefert),environments,enginesund einencomment. - Beispiel zeigt einen vollständigen Schritt des Typs.
- Drücken Sie Schritt hinzufügen. Der Schritt kommt ans Ende von
steps(oderdown), und der YAML-Text wird neu geschrieben.

Schleifen (foreach) und Schritte eines Typs, den diese Installation nicht hat, lassen sich nicht im Formular bauen:
schreiben Sie sie in den YAML-Text. Die Referenz jedes Schritttyps steht unter
den Migrationsschritten.
Die Liste der Schritte
Schritte listet jeden Schritt mit Nummer, Typ und Modus und seinen Schlüsseln:

| Schaltfläche | Was sie tut |
|---|---|
| Bearbeiten | lädt den Schritt ins Formular; ändern Sie ihn und drücken Sie Schritt ändern, dann steht er wieder an seiner Stelle |
| Nach oben, Nach unten | ändern die Reihenfolge (bei mehr als einem Schritt) |
| Entfernen | nimmt den Schritt heraus |
Wird ein Schritt über das Formular hinzugefügt oder geändert, wird der YAML-Text aus der gelesenen Migration neu geschrieben: Die Kopfzeilen bleiben, Kommentare zwischen den Schritten nicht.
Prüfen und Vorschau
- Prüfen führt aus, was
./console exp:migration:checkausführt: den Kopf, das Dokument und jeden Schritt über seinen Schritttyp. Die Karte Prüfen meldet Die Migration besteht die Prüfung. oder listet jedes Problem mit dem Schritt, in dem es steckt. Eine Warnung (etwa „keine Schritte: die Migration tut nichts“) verhindert das Speichern nicht. - Vorschau zeigt das YAML genau so, wie es gespeichert wird (YAML anzeigen).


Der ganze Editor nach einer Prüfung:

Speichern
Drücken Sie Speichern. Fragt „Identität bestätigen“ nach Ihrem Passwort, geben Sie es ein. Der Editor schreibt die Datei und öffnet sie:

- Eine neue Migration wird als
<jetzt>_<Name>.ymlin den Migrationsordner der Site geschrieben (der erste Eintrag von[MigrationSettings] DirectoryList) oder in den Migrationsordner der Erweiterung. Eine vorhandene Datei wird von einer neuen nie überschrieben. - Ein Text, der die Prüfung nicht besteht, wird nicht gespeichert; stattdessen werden die Probleme gelistet.
- Der Editor schreibt nichts außerhalb der Migrationsordner.
Wie es weitergeht: Die Migration ist jetzt auf der Seite Stand ausstehend. Öffnen Sie Probelauf, um zu sehen, was sie ändern wird, dann Ausführen (Ausführen, Probelauf und Rücknahme). Committen Sie die Datei mit dem Rest der Site, damit die anderen Installationen sie bekommen, oder liefern Sie sie aus (Ausliefern, Schritt für Schritt).
Eine Migration ändern
- Wählen Sie die Migration rechts unter YAML-Migrationen, oder öffnen Sie
/migration/editor/<Migrations-ID>. - Ändern Sie den Text oder die Schritte mit Bearbeiten, Nach oben, Nach unten und Entfernen.
- Prüfen, dann Speichern: Die Datei wird an Ort und Stelle geschrieben.
Eine Migration, die gelaufen ist
Eine Migration, die gelaufen ist, wird gezeigt, aber nicht noch einmal gespeichert:

Der Hinweis sagt: Diese Migration ist schon gelaufen und wird deshalb nicht noch einmal gespeichert, denn eine geänderte Datei würde der Prüfsummenschutz ablehnen; die Änderung gehört in eine neue Migration. Jede Installation, die sie angewendet hat, behält die Prüfsumme der Datei, die sie ausgeführt hat; eine geänderte Datei würde dort den nächsten Lauf anhalten. Schreiben Sie die Änderung als neue Migration (sie darf die alte zurücknehmen oder erweitern).
Wenn etwas schiefgeht
| Was Sie sehen | Warum, und was zu tun ist |
|---|---|
| Der Webserver kann die Datei nicht schreiben | Der Migrationsordner ist für den Benutzer, unter dem PHP läuft, nicht beschreibbar. Korrigieren Sie die Rechte des Ordners, oder schreiben Sie die Migration auf der Konsole. |
| Die Prüfung listet ein Problem | Korrigieren Sie den genannten Schlüssel; die Seite des Schritttyps unter den Migrationsschritten nennt jeden Schlüssel. |
| „Der Schritt hat Schlüssel, die sein Typ nicht kennt“ | Der Schritt wurde für eine andere Version des Schritttyps geschrieben. Die genannten Schlüssel fallen weg, wenn der Schritt im Formular geändert wird; ändern Sie ihn im Text, um sie zu behalten. |
| Ein Schritttyp fehlt in der Liste | Die Erweiterung, die ihn mitbringt, ist nicht aktiv. |
| Der Reiter Redaktion fehlt | Ihnen fehlt migration/edit. |