feat:backup und restore der contao Datenbank über sql file
This commit is contained in:
1 parent
1c1bf84b7a
commit
e44b16e523
6 files changed
+237
-1
No files matched your search
@@ -0,0 +1,35 @@
|
||||
# Versionierter Contao-Seitenzustand
|
||||
|
||||
`contao-baseline.sql` ist der versionierte Ausgangszustand für Theme, Layout, Seiten, Artikel, Inhaltselemente und später auch Formulare. Er ist für eine frische Contao-Datenbank bestimmt und enthält keine Benutzer, Passworthashes, Sitzungen, Logs, Cache-Daten oder Zugangsdaten.
|
||||
|
||||
## Nach einer redaktionellen Änderung exportieren
|
||||
|
||||
```powershell
|
||||
cd development-system
|
||||
.\scripts\Export-ContaoBaseline.ps1
|
||||
git diff -- database/contao-baseline.sql
|
||||
```
|
||||
|
||||
Bei einer vorhandenen Datei fragt das Skript vor dem Überschreiben nach. Für einen bewusst nicht-interaktiven Export, z. B. in einer Automatisierung, `-Force` ergänzen. Den Diff vor dem Commit prüfen. Die Exportdatei enthält keine `tl_user`-Daten.
|
||||
|
||||
## In eine frische Datenbank importieren
|
||||
|
||||
Nach `contao-setup` und `contao:migrate`:
|
||||
|
||||
```powershell
|
||||
cd development-system
|
||||
.\scripts\Import-ContaoBaseline.ps1
|
||||
docker compose exec app vendor/bin/contao-console contao:user:create --admin
|
||||
```
|
||||
|
||||
Der Import bricht ab, wenn die versionierten Contao-Tabellen bereits Inhalte enthalten. Das verhindert ein versehentliches Überschreiben. Nur für ein bewusstes Zurücksetzen auf den Git-Stand ist Folgendes vorgesehen:
|
||||
|
||||
```powershell
|
||||
.\scripts\Import-ContaoBaseline.ps1 -ReplaceExisting
|
||||
```
|
||||
|
||||
`-ReplaceExisting` löscht ausschließlich Theme-, Layout-, Modul-, Seiten-, Artikel-, Inhaltselement- und Formulardaten. Benutzerkonten bleiben erhalten.
|
||||
|
||||
## Medien
|
||||
|
||||
Medien gehören als Dateien nach `development-system/files/` und werden in Git eingecheckt. Sobald Contao-Medien verwendet werden, muss der Seed zusätzlich die Metadaten aus `tl_files` enthalten. Das ist absichtlich noch nicht automatisiert, weil die aktuelle Datenbank nur Verweise auf nicht versionierte lokale Dateien enthält.
|
||||
Reference in new issue
Block a user