45 lines
1.2 KiB
Bash
45 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|||
|
|
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" "$@"
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "==> 1/5 baseline_migrations.sql"
|
||
|
|
mysql_cmd < database/sql/baseline_migrations.sql
|
||
|
|
|
||
|
|
echo "==> 2/5 check package migrations in DB"
|
||
|
|
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'
|
||
|
|
);")
|
||
|
|
if [[ "$PKG" != "2" ]]; then
|
||
|
|
echo "ERROR: 2019/2021 not in migrations table. Run: mysql ... < database/sql/fake_package_migrations.sql"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "==> 3/5 php artisan migrate:status"
|
||
|
|
php artisan migrate:status
|
||
|
|
|
||
|
|
echo "==> 4/5 php artisan migrate"
|
||
|
|
php artisan migrate
|
||
|
|
|
||
|
|
echo "==> 5/5 deploy_settings_const.sql"
|
||
|
|
mysql_cmd < database/sql/deploy_settings_const.sql
|
||
|
|
|
||
|
|
php artisan migrate:status
|
||
|
|
echo "==> done"
|