Produktiv- und Testtabellen per Prefix trennen
This commit is contained in:
@@ -36,6 +36,11 @@ Wichtige Punkte:
|
||||
|
||||
- `--single-transaction` sorgt für einen konsistenten Snapshot ohne
|
||||
Tabellen zu sperren (InnoDB, wie hier durchgängig verwendet).
|
||||
- Da `test_` und `prod_` in derselben physischen Datenbank liegen, enthält
|
||||
der vollständige Dump beide logisch getrennten Schemas. Beim Restore darf
|
||||
nicht nur ein einzelner Prefix zurückgespielt werden, ohne Abhängigkeiten
|
||||
und den jeweiligen Stand von `test_schema_migrations` beziehungsweise
|
||||
`prod_schema_migrations` zu prüfen.
|
||||
- Der Backup-Ordner muss **außerhalb** des über HTTP erreichbaren Webroots
|
||||
liegen, sonst wären Dumps öffentlich abrufbar.
|
||||
- Zusätzlich zu lokalen Backups auf dem Webspace mindestens eine Kopie an
|
||||
@@ -55,7 +60,9 @@ gunzip -c kaffeeliste_20260715_030000.sql.gz | mysql -h "$DB_HOST" -u "$DB_USER"
|
||||
|
||||
Danach `php scripts/migrate.php` laufen lassen, falls das Backup älter als
|
||||
die zuletzt eingespielten Migrationen ist (das Skript ist idempotent und
|
||||
wendet nur fehlende Migrationen an).
|
||||
wendet nur fehlende Migrationen im konfigurierten `DB_TABLE_PREFIX` an).
|
||||
Den Lauf daher mit der Konfiguration jeder wiederhergestellten Umgebung
|
||||
separat ausführen.
|
||||
|
||||
**Restore-Test:** Mindestens einmal pro Quartal einen echten Restore gegen
|
||||
eine separate Test-Datenbank durchführen und die App dagegen starten
|
||||
|
||||
Reference in New Issue
Block a user