chore(django): fail fast with hint when pipeline 0012/0013 migration files missing

Made-with: Cursor
This commit is contained in:
hub-gif 2026-04-14 14:17:27 +08:00
parent 34fe9079ee
commit a1b02e3ed7

View File

@ -2,11 +2,34 @@
"""Django's command-line utility for administrative tasks."""
import os
import sys
from pathlib import Path
def _require_pipeline_migration_files() -> None:
"""0013 依赖 0012缺文件时 MigrationLoader 报 NodeNotFoundError此处给出可操作的提示。"""
base = Path(__file__).resolve().parent
required = (
base / "pipeline" / "migrations" / "0012_job_pause_checkpoint.py",
base / "pipeline" / "migrations" / "0013_rebuild_pipelinejobcheckpoint.py",
)
missing = [p for p in required if not p.is_file()]
if not missing:
return
print(
"Missing pipeline migration file(s) (clone/pull 不完整或误删):\n"
+ "\n".join(f" - {p}" for p in missing)
+ "\n\nRestore from Git, e.g.\n"
" git checkout HEAD -- pipeline/migrations/0012_job_pause_checkpoint.py "
"pipeline/migrations/0013_rebuild_pipelinejobcheckpoint.py\n",
file=sys.stderr,
)
sys.exit(1)
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
_require_pipeline_migration_files()
try:
from django.core.management import execute_from_command_line
except ImportError as exc: