add migration for fill colums for is approved and priview in hesabdariDoc and storeroomTicket
This commit is contained in:
parent
8ff15b1e67
commit
77e0c5a975
35
docs/migrations/README_migration_20250819174429.md
Normal file
35
docs/migrations/README_migration_20250819174429.md
Normal 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 جدید ضروری است
|
55
hesabixCore/migrations/Version20250819174429.php
Normal file
55
hesabixCore/migrations/Version20250819174429.php
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue