Sie sind hier Home » PHP Programmierung » Symfony » Bash Skript zum erneuten Erstellen der Models inkl. DB-Backup

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"
 
Lassen Sie uns ein Feedback zu diesem Artikel zukommen

Bookmark