Jeder der mit Symfony und einem der PDO’s arbeitet, wird auch während der Entwicklung an seinem Projekt ständig mit Anpassungen an der Datenbankstruktur konfrontiert. Eine einfache Lösung die alten Datenbestände beizubehalten und die neue Datenbankstruktur dennoch erfolgreich zu updaten ist mit Symfony ohne weiteres nicht möglich. Ich habe mir dafür einen kleines Bash Script geschrieben, welches bei mir im “sf_root” liegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | dbuser=root dbpass=password dbname=databasename variable=`date +"%Y-%m-%d-%H-%M-%S"` echo "Erstelle Backup unter für $dbname @ " $variable mysqldump -u$dbuser -p$dbpass --complete-insert --no-create-db --no-create-info --skip-add-drop-table $dbname > data/$dbname-backup-last.sql echo "Sichere Dump nochmal in extra Verzeichnis." cp data/$dbname-backup-last.sql data/$variable-$dbname-backup.sql echo "Erstelle Datenbank und Models neu:" symfony propel:build-all echo "Spiele Backup wieder ein... Datenbank Passwort eingeben: " mysql -u$dbuser -p$dbpass $dbname < data/$dbname-backup-last.sql |
Dieses Beispiel ist nun für Symfony 1.1 in Verbindung mit Propel. Wer eine ältere Version von Symfony oder eine andere Datenbankabstraktionsschicht verwendet, muss die Symfony Befehle anpassen.
Popularity: 33% [?]
Werbung:



Mai 28th, 2008 at 06:44
Einfacher gehts mit dem sfPropelSqlDiffPlugin…
Mai 28th, 2008 at 08:31
@red “Plugin is in beta state now. It is only for symfony 1.0 and tested only for mysql.” Kann ich also ohne es zu patchen nicht für 1.1 nutzen
Mai 28th, 2008 at 08:38
Gut, den Punkt geb ich dir…
Mai 28th, 2008 at 09:20