47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
# Script di gestione database unificato
|
|
# Uso: ./manage-database.sh [fresh|migrate|schema]
|
|
|
|
ACTION=${1:-migrate}
|
|
REMOTE_USER="michele"
|
|
REMOTE_HOST="192.168.0.43"
|
|
REMOTE_PATH="/var/www/netgescon"
|
|
|
|
case $ACTION in
|
|
fresh)
|
|
echo "🗑️ Database fresh (elimina tutto e ricrea)..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
|
|
rm -f database/schema/mysql-schema.sql && \
|
|
php artisan migrate:fresh --seed"
|
|
;;
|
|
migrate)
|
|
echo "🔄 Solo migration incrementali..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
|
|
rm -f database/schema/mysql-schema.sql && \
|
|
php artisan migrate --force"
|
|
;;
|
|
schema)
|
|
echo "📊 Genera nuovo schema dopo migration..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
|
|
php artisan schema:dump --prune"
|
|
;;
|
|
repair)
|
|
echo "🔧 Ripara database conflittuale..."
|
|
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_PATH && \
|
|
mysql -u netgescon_user -p -e 'SET FOREIGN_KEY_CHECKS = 0; DROP DATABASE netgescon; CREATE DATABASE netgescon CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; SET FOREIGN_KEY_CHECKS = 1;' && \
|
|
rm -f database/schema/mysql-schema.sql && \
|
|
php artisan migrate:fresh --seed"
|
|
;;
|
|
*)
|
|
echo "Uso: $0 [fresh|migrate|schema|repair]"
|
|
echo " fresh: Elimina tutto e ricrea database"
|
|
echo " migrate: Solo migration incrementali (default)"
|
|
echo " schema: Genera nuovo schema"
|
|
echo " repair: Ripara database conflittuale"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "✅ Operazione completata!"
|