Bash Skript zum erneuten Erstellen der Models inkl. DB-Backup
Skript zum erneuten Erstellen der Datenbank, der Model-, Formular-, und Filterklassen.
Man kann auch php symfony propel:build-all --no-confirmation nutzen, nur führt dies unter Umständen zu Warnhinweisen und Fehlermeldungen.
Es wird angenommen, dass der Benutzer Mitglied der Gruppe www-data ist und sudo Rechte ohne Passworteingabe besitzt.
Man kann auch, dadurch dass man Mitglied der Gruppe ist, ohne sudo arbeiten, allerdings ist der aufgezeigte der sicherste der sicheren Wege.
Das Script kann man bei Meldungen, welche meist auf einen Fehler in der shema.yml basieren, jederzeit mit strg+c abbrechen.
#!/bin/bash ################################################################ # Datenbank und Scaffolding für Symfony # gestestet unter Ubuntu Linux # Author: R. Gemander (Libatech) # Web: http://www.libatech.biz # License: GPL ################################################################ ############# C O N F I G ######################################### #database user dbuser=dbuser # database password dbpass=dbpass #database name dbname=dbname #www folder folder=/var/www #projectname project=project ################################################################# variable=`date +"%Y-%m-%d-%H-%M-%S"` echo -e "\033[1;34;47mErstelle Backup unter data/sql/ für $dbname @ $variable " echo -e "\033[0m" #Zeilenumbruch entfernen! mysqldump -u$dbuser -p$dbpass --complete-insert --no-create-db --no-create-info --skip-add-drop-table $dbname > data/sql/$dbname-backup-last.sql echo -e "\033[1;34;47m Sichere Dump nochmal in extra Verzeichnis..." echo -e "\033[0m" cp data/sql/$dbname-backup-last.sql data/sql/$variable-$dbname-backup.sql echo -e "\033[1;34;47m Erstelle Datenbankschema neu..." echo -e "\033[0m" sudo php symfony propel:build-sql echo -e "\033[1;34;47m Erstelle Datenbanktabellen neu..." echo -e "\033[0m" sudo php symfony propel:insert-sql --no-confirmation echo -e "\033[1;34;47m Erstelle Models neu..." echo -e "\033[0m" sudo php symfony propel:build-model echo -e "\033[1;34;47m Erstelle Formulare neu..." echo -e "\033[0m" sudo php symfony propel:build-forms echo -e "\033[1;34;47m Erstelle Filter neu... " echo -e "\033[0m" sudo php symfony propel:build-filter echo -e "\033[1;34;47m Spiele Backup wieder ein... " echo -e "\033[0m" mysql -u$dbuser --password=$dbpass $dbname < data/sql/$dbname-backup-last.sql echo -e "\033[1;34;47m Leere Cache... " echo -e "\033[0m" sudo php symfony cc echo -e "\033[1;34;47m Setze Rechte neu... " echo -e "\033[0m" sudo chown -R www-data:www-data $folder/$project sudo chmod -R g+rw $folder/$project clear echo -e "\033[1;37;42mFertig! Das Projekt wurde auf den neuesten Stand gebracht. " echo -e "\033[0m"


