fix migrations 2
This commit is contained in:
@@ -1006,4 +1006,8 @@ CREATE TABLE `withdraws_01/15` (
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- بعد از load schema، Laravel نباید دوباره mysql-schema.sql را اجرا کند
|
||||
INSERT INTO `migrations` (`migration`, `batch`) VALUES
|
||||
('0000_00_00_000000_baseline_schema', 1);
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
@@ -1,19 +1,35 @@
|
||||
-- =============================================================================
|
||||
-- baseline migrations — فقط برای DB موجود که schema کامل دارد
|
||||
-- baseline_migrations.sql — حتماً قبل از migrate روی DB موجود اجرا کنید
|
||||
-- =============================================================================
|
||||
-- معمولاً لازم نیست! فقط php artisan migrate بزنید.
|
||||
-- migrationها idempotent هستند — اگر ستون باشد skip میشود.
|
||||
-- اگر جدول migrations خالی باشد، Laravel کل mysql-schema.sql را load میکند
|
||||
-- (DROP TABLE + CREATE) و دادههای production پاک میشود!
|
||||
--
|
||||
-- این فایل فقط وقتی لازم است که migrations خالی باشد و نمیخواهید
|
||||
-- Laravel فایل database/schema/mysql-schema.sql را دوباره load کند.
|
||||
-- workflow DB موجود (abshode_rahimi, groosy, ...):
|
||||
-- 1) بکاپ
|
||||
-- 2) SOURCE baseline_migrations.sql
|
||||
-- 3) php artisan migrate ← فقط ۸ migration incremental
|
||||
-- 4) SOURCE deploy_settings_const.sql
|
||||
--
|
||||
-- USE `نام_دیتابیس`;
|
||||
-- =============================================================================
|
||||
|
||||
TRUNCATE TABLE `migrations`;
|
||||
|
||||
-- جلوگیری از load مجدد schema dump
|
||||
INSERT INTO `migrations` (`migration`, `batch`) VALUES
|
||||
('0000_00_00_000000_baseline_schema', 1);
|
||||
|
||||
-- بعد: php artisan migrate
|
||||
-- (۸ migration incremental اجرا و ثبت میشود)
|
||||
-- اگر schema از قبل کامل است (همه ستونها هست)، این ۸ تا را هم marked کنید
|
||||
-- تا migrate فقط migrationهای جدید بعد از deploy را اجرا کند:
|
||||
INSERT INTO `migrations` (`migration`, `batch`) VALUES
|
||||
('2026_05_25_163201_add_provider_fields_to_orders_table', 1),
|
||||
('2026_06_02_000001_add_price_offset_percent_to_products_table', 1),
|
||||
('2026_06_06_000001_add_total_referrals_to_customers_table', 1),
|
||||
('2026_06_06_000002_alter_logs_data_to_longtext', 1),
|
||||
('2026_06_06_000003_add_order_limit_columns_to_products_table', 1),
|
||||
('2026_06_09_000001_add_show_in_assets_to_products_table', 1),
|
||||
('2026_06_10_000001_add_use_last_price_if_zero_to_products_table', 1),
|
||||
('2026_06_10_000002_add_type_column_to_settings_table', 1);
|
||||
|
||||
-- اگر ستونی کم است، خطوط بالا (۸ migration) را comment کنید و فقط baseline بماند،
|
||||
-- بعد php artisan migrate ستونهای کم را اضافه میکند.
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
-- =============================================================================
|
||||
-- deploy_settings_const.sql — آپدیت settings + const (بدون تغییر schema)
|
||||
--
|
||||
-- workflow deploy:
|
||||
-- 1) php artisan migrate
|
||||
-- 2) mysql -u USER -p DATABASE < database/sql/deploy_settings_const.sql
|
||||
-- workflow deploy (DB موجود — abshode_rahimi, groosy, ...):
|
||||
-- 0) بکاپ
|
||||
-- 1) mysql ... < database/sql/baseline_migrations.sql ← حتماً قبل از migrate
|
||||
-- 2) php artisan migrate
|
||||
-- 3) mysql ... < database/sql/deploy_settings_const.sql
|
||||
--
|
||||
-- workflow نصب از صفر (DB خالی):
|
||||
-- 1) php artisan migrate ← schema dump + incremental
|
||||
-- 2) mysql ... < database/sql/deploy_settings_const.sql
|
||||
--
|
||||
-- اصول:
|
||||
-- • چند بار قابل اجرا (idempotent)
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
-- =============================================================================
|
||||
-- fix_migrations_after_failed_migrate.sql
|
||||
-- =============================================================================
|
||||
-- بعد از خطای «Table already exists» روی abshode_rahimi یا سرور مشابه:
|
||||
--
|
||||
-- 1) مطمئن شوید پوشه database/migrations فقط ۸ فایل 2026_* دارد
|
||||
-- (فایلهای 2014_* و 2019_* و 2023_* create_* باید حذف شده باشند)
|
||||
--
|
||||
-- 2) اگر migrate قبلاً schema dump را load کرده و دادهها پاک شده:
|
||||
-- اول بکاپ را restore کنید — این اسکریپت داده برنمیگرداند.
|
||||
--
|
||||
-- 3) USE دیتابیس; سپس:
|
||||
-- SOURCE fix_migrations_after_failed_migrate.sql;
|
||||
--
|
||||
-- 4) php artisan migrate:status ← باید همه Ran باشند
|
||||
-- 5) SOURCE deploy_settings_const.sql;
|
||||
-- =============================================================================
|
||||
|
||||
TRUNCATE TABLE `migrations`;
|
||||
|
||||
INSERT INTO `migrations` (`migration`, `batch`) VALUES
|
||||
('0000_00_00_000000_baseline_schema', 1),
|
||||
('2026_05_25_163201_add_provider_fields_to_orders_table', 1),
|
||||
('2026_06_02_000001_add_price_offset_percent_to_products_table', 1),
|
||||
('2026_06_06_000001_add_total_referrals_to_customers_table', 1),
|
||||
('2026_06_06_000002_alter_logs_data_to_longtext', 1),
|
||||
('2026_06_06_000003_add_order_limit_columns_to_products_table', 1),
|
||||
('2026_06_09_000001_add_show_in_assets_to_products_table', 1),
|
||||
('2026_06_10_000001_add_use_last_price_if_zero_to_products_table', 1),
|
||||
('2026_06_10_000002_add_type_column_to_settings_table', 1);
|
||||
|
||||
SELECT 'migrations fixed — run: php artisan migrate:status' AS info;
|
||||
Reference in New Issue
Block a user