fix migrations 6
This commit is contained in:
@@ -23,11 +23,17 @@ DB_PASSWORD=$(grep ^DB_PASSWORD= .env | cut -d= -f2- | tr -d '\r"')
|
|||||||
# ۱ baseline
|
# ۱ baseline
|
||||||
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" \
|
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" \
|
||||||
< database/sql/baseline_migrations.sql
|
< database/sql/baseline_migrations.sql
|
||||||
|
|
||||||
|
#mysql -h 127.0.0.1 -P 3030 -u root -p soroushgold < database/sql/baseline_migrations.sql
|
||||||
|
|
||||||
# باید ۱۱ ردیف چاپ شود (شامل 2019 و 2021)
|
# باید ۱۱ ردیف چاپ شود (شامل 2019 و 2021)
|
||||||
|
|
||||||
# ۲ چک DB — اگر کمتر از ۲ بود baseline قدیمی است
|
# ۲ چک DB — اگر کمتر از ۲ بود baseline قدیمی است
|
||||||
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" -N -e \
|
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" -N -e \
|
||||||
"SELECT COUNT(*) FROM migrations WHERE migration LIKE '2019%' OR migration LIKE '2021%';"
|
"SELECT COUNT(*) FROM migrations WHERE migration LIKE '2019%' OR migration LIKE '2021%';"
|
||||||
|
|
||||||
|
#mysql -h "127.0.0.1" -P "3030" -u "root" -p"1ipqLRRMC7qS8s3WkuwXiS7P" "soroushgold" -N -e \"SELECT COUNT(*) FROM migrations WHERE migration LIKE '2019%' OR migration LIKE '2021%';"
|
||||||
|
|
||||||
# باید: 2
|
# باید: 2
|
||||||
|
|
||||||
# ۳ status — ۱۰ تا همه Yes
|
# ۳ status — ۱۰ تا همه Yes
|
||||||
@@ -39,6 +45,8 @@ php artisan migrate
|
|||||||
# ۵ settings
|
# ۵ settings
|
||||||
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" \
|
mysql -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USERNAME" -p"$DB_PASSWORD" "$DB_DATABASE" \
|
||||||
< database/sql/deploy_settings_const.sql
|
< database/sql/deploy_settings_const.sql
|
||||||
|
|
||||||
|
#mysql -h "127.0.0.1" -P "3030" -u "root" -p"1ipqLRRMC7qS8s3WkuwXiS7P" "soroushgold" \ < database/sql/deploy_settings_const.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
**یا:** `bash database/sql/run_deploy_existing_db.sh`
|
**یا:** `bash database/sql/run_deploy_existing_db.sh`
|
||||||
@@ -95,6 +103,7 @@ mysql ... < database/sql/deploy_settings_const.sql
|
|||||||
| `Loading stored database schema` | restore بکاپ → `baseline` قبل از `migrate` |
|
| `Loading stored database schema` | restore بکاپ → `baseline` قبل از `migrate` |
|
||||||
| `2019`/`2021` No بعد از baseline | baseline قدیمی → `fake_package_migrations.sql` |
|
| `2019`/`2021` No بعد از baseline | baseline قدیمی → `fake_package_migrations.sql` |
|
||||||
| `Unknown host HOST` | از `.env` بخوان نه placeholder |
|
| `Unknown host HOST` | از `.env` بخوان نه placeholder |
|
||||||
|
| `Unknown column 'is_exist'` | `git pull` + دوباره `deploy_settings_const.sql` (نسخه جدید ستون را اضافه میکند) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,30 @@ START TRANSACTION;
|
|||||||
|
|
||||||
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||||
|
|
||||||
|
SET @db = DATABASE();
|
||||||
|
|
||||||
|
-- ستونهای اختیاری settings (بعضی DBهای قدیمی ندارند)
|
||||||
|
SET @sql = IF(
|
||||||
|
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||||
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'settings' AND COLUMN_NAME = 'is_exist') = 0,
|
||||||
|
'ALTER TABLE `settings` ADD COLUMN `is_exist` TINYINT(1) NOT NULL DEFAULT 0',
|
||||||
|
'SELECT 1'
|
||||||
|
);
|
||||||
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
|
SET @sql = IF(
|
||||||
|
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||||
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'settings' AND COLUMN_NAME = 'type') = 0,
|
||||||
|
IF(
|
||||||
|
(SELECT COUNT(*) FROM information_schema.COLUMNS
|
||||||
|
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'settings' AND COLUMN_NAME = 'description') > 0,
|
||||||
|
'ALTER TABLE `settings` ADD COLUMN `type` VARCHAR(50) NULL DEFAULT NULL AFTER `description`',
|
||||||
|
'ALTER TABLE `settings` ADD COLUMN `type` VARCHAR(50) NULL DEFAULT NULL'
|
||||||
|
),
|
||||||
|
'SELECT 1'
|
||||||
|
);
|
||||||
|
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
-- ---------------------------------------------------------------------------
|
-- ---------------------------------------------------------------------------
|
||||||
-- charset — نمایش فارسی در پنل ادمین
|
-- charset — نمایش فارسی در پنل ادمین
|
||||||
-- ---------------------------------------------------------------------------
|
-- ---------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user