add migration for fill colums for is approved and priview in hesabdariDoc and storeroomTicket

This commit is contained in:
Hesabix 2025-08-19 17:52:46 +00:00
parent 8ff15b1e67
commit 77e0c5a975
2 changed files with 90 additions and 0 deletions

View file

@ -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 جدید ضروری است

View file

@ -0,0 +1,55 @@
<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Migration برای تنظیم مقادیر پیش‌فرض ستون‌های preview و approved
* برای اسناد قبلی ثبت شده در جداول hesabdariDoc و storeroomTicker
*/
final class Version20250819174429 extends AbstractMigration
{
public function getDescription(): string
{
return 'تنظیم مقادیر پیش‌فرض برای ستون‌های preview و approved در اسناد قبلی';
}
public function up(Schema $schema): void
{
// تنظیم مقادیر پیش‌فرض برای اسناد حسابداری قبلی
// برای اسناد قبلی: approved = true و preview = false
$this->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);
}
}