38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
|
# Arbeiten mit [Doctrine Migrations](https://www.doctrine-project.org/projects/doctrine-migrations/en/3.6/reference/introduction.html)
|
||
|
|
||
|
Migrations bilden die Veränderung der Datenbankstruktur in programmierter Form ab. Jede Strukturänderung wird in einer einzelnen (jeweils neuen) Migrationsdatei abgelegt, die Teil des Moduls ist.
|
||
|
|
||
|
Passe die `migrations.yml` an Dein Modul an.
|
||
|
|
||
|
## Erstellen eines Skeletons für die erste oder zusätzliche Migrationen
|
||
|
|
||
|
```
|
||
|
./vendor/bin/oe-eshop-doctrine_migration migrations:generate d3moduleid
|
||
|
```
|
||
|
|
||
|
Arbeite die angelegte Datei entsprechend Deinen Anforderungen um.
|
||
|
|
||
|
## Ausführen der noch nicht ausgeführten Migrations
|
||
|
|
||
|
Doctrine überwacht selbst, welche Migrationen schon ausgeführt wurden und verhindert damit mehrfache Ausführungen der selben Migration.
|
||
|
|
||
|
Im OXID-Shop werden Migrations mit folgendem Befehl ausgeführt:
|
||
|
|
||
|
```
|
||
|
./vendor/bin/oe-eshop-db_migrate migrations:migrate
|
||
|
```
|
||
|
|
||
|
Als Argument kann noch die Suite mitgegeben werden, wenn nur bestimmte Migrations ausgeführt werden sollen. Mögliche Angaben sind:
|
||
|
|
||
|
- CE - für alle CE-Migrations
|
||
|
- PE - für alle PE-Migrations
|
||
|
- EE - für alle EE-Migrations
|
||
|
- PR - für alle Projekt-Migrations
|
||
|
- ModuleId - für alle Migrations des jeweiligen Moduls
|
||
|
- ohne Angabe - werden die Migrations aller Suiten nacheinander ausgeführt
|
||
|
|
||
|
## Abweichungen zwischen Doctrine Migrations und dem OXID Migration Wrapper
|
||
|
|
||
|
In den originalen Doctrine Migrations können keine Suiten angegeben werden. Dafür gibt es die Möglichkeit, die Richtung (up / down) und eine Zielversion anzugeben.
|
||
|
|
||
|
Bei OXID können Migrations ausschließlich aufwärts (up) und immer fix bis zur aktuellsten Version ausgeführt werden.
|