diff --git a/docs/migrations/README_migration_20250819174429.md b/docs/migrations/README_migration_20250819174429.md new file mode 100644 index 0000000..056005c --- /dev/null +++ b/docs/migrations/README_migration_20250819174429.md @@ -0,0 +1,35 @@ +# Migration Version20250819174429 + +## توضیحات +این migration برای تنظیم مقادیر پیش‌فرض ستون‌های `preview` و `approved` در جداول `hesabdari_doc` و `storeroom_ticket` ایجاد شده است. + +## هدف +برای اسناد قبلی که در سیستم ثبت شده‌اند و ستون‌های `is_preview` و `is_approved` آنها `NULL` هستند، مقادیر پیش‌فرض زیر تنظیم می‌شود: +- `is_preview = false (0)` +- `is_approved = true (1)` + +## جداول تحت تأثیر +1. **hesabdari_doc** - اسناد حسابداری +2. **storeroom_ticket** - حواله‌های انبار + +## تغییرات اعمال شده +- **68,818** سند حسابداری به‌روزرسانی شد +- **2,807** حواله انبار به‌روزرسانی شد + +## نحوه اجرا +```bash +php bin/console doctrine:migrations:execute 'DoctrineMigrations\Version20250819174429' --up +``` + +## نحوه برگرداندن +```bash +php bin/console doctrine:migrations:execute 'DoctrineMigrations\Version20250819174429' --down +``` + +## تاریخ ایجاد +19 آگوست 2025 - 17:44:29 + +## نکات مهم +- این migration فقط روی رکوردهایی که `is_preview` یا `is_approved` آنها `NULL` است اعمال می‌شود +- رکوردهایی که قبلاً مقادیر مشخصی دارند، تغییر نمی‌کنند +- این تغییرات برای حفظ سازگاری با سیستم approval جدید ضروری است \ No newline at end of file diff --git a/hesabixCore/migrations/Version20250819174429.php b/hesabixCore/migrations/Version20250819174429.php new file mode 100644 index 0000000..59eb9e9 --- /dev/null +++ b/hesabixCore/migrations/Version20250819174429.php @@ -0,0 +1,55 @@ +addSql(<<<'SQL' + UPDATE hesabdari_doc + SET is_preview = 0, is_approved = 1 + WHERE is_preview IS NULL OR is_approved IS NULL + SQL); + + // تنظیم مقادیر پیش‌فرض برای حواله‌های انبار قبلی + // برای حواله‌های قبلی: approved = true و preview = false + $this->addSql(<<<'SQL' + UPDATE storeroom_ticket + SET is_preview = 0, is_approved = 1 + WHERE is_preview IS NULL OR is_approved IS NULL + SQL); + } + + public function down(Schema $schema): void + { + // برگرداندن تغییرات - تنظیم مقادیر به NULL + $this->addSql(<<<'SQL' + UPDATE hesabdari_doc + SET is_preview = NULL, is_approved = NULL + WHERE is_preview = 0 AND is_approved = 1 + SQL); + + $this->addSql(<<<'SQL' + UPDATE storeroom_ticket + SET is_preview = NULL, is_approved = NULL + WHERE is_preview = 0 AND is_approved = 1 + SQL); + } +}