feat: enhance purge commands with environment handling and testing improvements
This commit is contained in:
@@ -280,6 +280,9 @@ php bin/console app:doctors:purge-unclaimed --all-sources # هر منبعِ غ
|
||||
| `--all-sources` | هر پزشک claimنشدهٔ غیرِ `manual` |
|
||||
| `--i-know-this-is-prod` | لازم برای اجرا روی `APP_ENV=prod` |
|
||||
|
||||
> محیط از kernel خوانده میشود (`%kernel.environment%`)، نه `$_ENV['APP_ENV']` — تا اگر
|
||||
> APP_ENV از راهی غیر از dotenv ست شده باشد گارد دور زده نشود.
|
||||
|
||||
> حذف FK-safe است (همان ۱۶ جدول وابستهٔ `app:doctors:purge`). اگر نوبتی به پزشک
|
||||
> claimنشده وصل باشد در dry-run هشدار میدهد چون آن نوبت هم حذف میشود. کاربر جانشین
|
||||
> فقط وقتی حذف میشود که غیرفعال (`status=0`) و با موبایلِ `imp_` باشد — تا کاربر واقعی
|
||||
@@ -302,6 +305,8 @@ php bin/console app:doctors:purge --force # حذف واقعی + کاربرا
|
||||
> `dev`/`test` اجرا میشود**؛ روی هر `APP_ENV` دیگری (از جمله `prod`) بدون هیچ راه
|
||||
> فراری با خطا متوقف میشود. سوییچ `--i-know-this-is-prod` اینجا **وجود ندارد** —
|
||||
> تنها کامند این خانواده است که هیچ راهی برای اجرا روی prod ندارد.
|
||||
> محیط از `%kernel.environment%` میآید، پس با دستکاری `$_ENV` هم دور نمیخورد.
|
||||
> (تستها: `PurgeDoctorsCommandTest`، `PurgeUnclaimedDoctorsCommandTest::testRefusesOnProdWithoutExplicitSwitch`)
|
||||
|
||||
### خلاصهٔ تفاوت دو کامند حذف
|
||||
|
||||
|
||||
Reference in New Issue
Block a user