fix some bugs
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
# ارتقای DB قلک طلا — schema + merge settings/const
|
||||
# استفاده: cd /opt/gholak/server && bash database/sql/run_gholaktala_upgrade.sh
|
||||
set -euo pipefail
|
||||
|
||||
ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
cd "$ROOT"
|
||||
|
||||
read_env() {
|
||||
grep "^${1}=" .env | cut -d= -f2- | tr -d '\r"' | head -1
|
||||
}
|
||||
|
||||
DB_HOST=$(read_env DB_HOST)
|
||||
DB_PORT=$(read_env DB_PORT)
|
||||
DB_DATABASE=$(read_env DB_DATABASE)
|
||||
DB_USERNAME=$(read_env DB_USERNAME)
|
||||
DB_PASSWORD=$(read_env DB_PASSWORD)
|
||||
|
||||
mysql_cmd() {
|
||||
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" "$@"
|
||||
}
|
||||
|
||||
mysqldump_cmd() {
|
||||
mysqldump -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" \
|
||||
--single-transaction --routines --triggers "$DB_DATABASE" "$@"
|
||||
}
|
||||
|
||||
BACKUP_FILE="/tmp/gholaktala_before_upgrade_$(date +%Y%m%d_%H%M%S).sql"
|
||||
echo "==> 0/5 backup -> $BACKUP_FILE"
|
||||
mysqldump_cmd > "$BACKUP_FILE"
|
||||
echo " backup size: $(du -h "$BACKUP_FILE" | cut -f1)"
|
||||
|
||||
echo "==> 1/5 gholaktala_upgrade.sql (schema + backfill)"
|
||||
mysql_cmd < database/sql/gholaktala_upgrade.sql
|
||||
|
||||
echo "==> 2/5 deploy_settings_const_preserve_value_sync_can_edit.sql (merge settings + const)"
|
||||
mysql_cmd < database/sql/deploy_settings_const_preserve_value_sync_can_edit.sql
|
||||
|
||||
echo "==> 3/5 baseline_migrations.sql (اگر قبلاً نزدهاید)"
|
||||
if mysql_cmd -N -e "SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='migrations';" | grep -q '^1$'; then
|
||||
PKG=$(mysql_cmd -N -e "SELECT COUNT(*) FROM migrations WHERE migration IN (
|
||||
'2019_12_14_000001_create_personal_access_tokens_table',
|
||||
'2021_12_02_065938_create_wallet_moudle_table'
|
||||
);" 2>/dev/null || echo 0)
|
||||
if [[ "$PKG" != "2" ]]; then
|
||||
echo " running baseline_migrations.sql ..."
|
||||
mysql_cmd < database/sql/baseline_migrations.sql
|
||||
else
|
||||
echo " skip — baseline already applied"
|
||||
fi
|
||||
else
|
||||
echo " skip — no migrations table"
|
||||
fi
|
||||
|
||||
echo "==> 4/5 php artisan migrate"
|
||||
php artisan migrate --force
|
||||
echo "==> 5/5 php artisan config:clear"
|
||||
php artisan config:clear
|
||||
|
||||
echo "==> done — backup: $BACKUP_FILE"
|
||||
echo "==> test: GET /server/customer/me"
|
||||
Reference in New Issue
Block a user