Migrations-Leitfaden¶
Hint
Diese Seite enthält Migrationsanweisungen für die Umstellung auf Mapbender 4. Migrationsanweisungen zu Versionen < 4.0.0 finden Sie in der englischen Version dieser Seite. Allgemeine Tipps zur Aktualisierung finden Sie stattdessen auf der Seite Aktualisierung von Mapbender auf eine neuere Version.
Tip
Für ausführliche Informationen des Mapbender-Entwicklungsteams siehe auch den Upgrading Guide auf GitHub.
Umstellung auf Mapbender 4.0.0¶
- Schauen Sie sich den Upgrading Guide auf GitHub sorgfältig an, bevor Sie das Update durchführen. 
- Sie werden feststellen, dass sich die Symfony Verzeichnisstruktur stark verändert hat. 
- Für Mapbender 4 wurden alle .yml-Dateierweiterungen in .yaml umgewandelt. 
- Die config.yml ist entfallen. 
- Öffentliche Dateien wurden von web/ nach public/ verschoben. 
- Anstelle von mehreren Parametern in der Datei parameters.yml wird die Datenbankdefinition durch eine Umgebungsvariable - MAPBENDER_DATABASE_URLersetzt. Konfigurieren Sie sie, indem Sie diese in Ihrer .env.local-Datei hinzufügen. Wenn Sie mehrere Verbindungen haben, verwenden Sie eine Umgebungsvariable pro Verbindung und konfigurieren diese in der Datei config/packages/doctrine.yaml.
- Der Apache Virtual Host / ALIAS muss geändert werden. Verweisen Sie auf public (statt auf web). Rufen Sie - index.php(anstelle von- app.php) auf. Siehe Installationsanleitung.
- Die Umgebung kann nun über die Umgebungsvariable - APP_ENVgesetzt werden (siehe .env.local).- index_dev.php(vorher- app_dev.php) ist weiterhin als Alternative für den Zugriff auf die Entwicklungsumgebung verfügbar.
- Datenbankberechtigungen können mit - bin/console mapbender:security:migrate-from-aclmigriert werden. Führen Sie dies aus, bevor Sie den Befehl- schema:updateausführen, da sonst Ihre alten ACL-Tabellen nicht mehr vorhanden sind.
Upgrade der Datenbank¶
Warning
Führen Sie die folgenden Befehle exakt in der angegebenen Reihenfolge aus, um ein Upgrade durchzuführen (nachdem Sie die Verzeichnisstruktur von Symfony auf den neuesten Stand gebracht haben). Erstellen Sie zuerst ein Backup Ihrer Datenbank!
- Dies ersetzt den aus doctrine entfernten - json_array-Typ durch- json. Wenn Sie ein anderes DBMS als SQlite, PostgreSQL und MySQL verwenden, müssen Sie dies manuell tun.
bin/console mapbender:database:upgrade
- Migriert Sicherheitsdefinitionen aus dem ACL-System in das neue Rechtesystem: 
bin/console mapbender:security:migrate-from-acl
- Aktualisiert den Rest der Datenbank. Dies muss als letzter Schritt ausgeführt werden, da es die alten ACL-Tabellen löscht: 
bin/console doctrine:schema:update --complete --force