fix two checks that only broke in the case they exist for
بازبینیِ کارِ امروز، سه مورد پیدا کرد. /api/health وقتی مهاجرتِ اعمالنشده وجود داشت میشکست: کدِ فهرستکردنِ مهاجرتها به migration.key تکیه میکرد که اصلاً وجود ندارد (فیلدها app_label و name هستند). یعنی دقیقاً در همان حالتی که این بررسی برایش ساخته شده، بهجای نامِ مهاجرتها فقط AttributeError برمیگرداند. حالا تستی دارد که مهاجرتِ معلق را شبیهسازی میکند — چیزی که نبودش باعث شد اولین بار غلط بماند. وارد کردنِ سوال با replace عددِ غلط گزارش میکرد: delete() در جنگو مجموعِ همهی ردیفهای آبشاری را میدهد، پس «۵ سوال پاک شد» در واقع گزینهها و پاسخها را هم میشمرد. deploy.sh بررسیِ متغیرهای محیطیاش با تنظیماتِ جدید ناسازگار شده بود: متغیرهایی را اجباری میدانست که حالا پیشفرض دارند، و فقط شل را میخواند نه .env — یعنی روی سرورِ درست هم دیپلوی را رد میکرد. حالا بهجای تکرارِ منطقِ تنظیمات، از خودِ جنگو میپرسد چه چیزی مؤثر است و گزارش میدهد. کوچکتر: بررسیِ سلامت یک درخواست میزند نه دو تا، و شکستِ ریاستارت دیگر اسکریپت را بیصدا تمام نمیکند. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -109,7 +109,10 @@ def import_questions(rows: list[dict], *, replace: bool = False) -> dict:
|
||||
|
||||
removed = 0
|
||||
if replace:
|
||||
removed, _ = Question.objects.filter(lesson_id__in=lesson_ids).delete()
|
||||
# delete() مجموعِ همهی ردیفهای آبشاری (گزینهها، پاسخها، گزارشها) را
|
||||
# برمیگرداند؛ آنچه به کاربر گزارش میشود باید فقط تعدادِ سوال باشد.
|
||||
_, per_model = Question.objects.filter(lesson_id__in=lesson_ids).delete()
|
||||
removed = per_model.get('content.Question', 0)
|
||||
|
||||
created = 0
|
||||
for row in rows:
|
||||
|
||||
Reference in New Issue
Block a user