from pathlib import Path import sys from sqlalchemy import text ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(ROOT)) from app.database import engine # noqa: E402 def main() -> None: with engine.begin() as conn: result = conn.execute( text( """ UPDATE work_session_devices d JOIN work_sessions s ON s.id = d.session_id SET d.released_at = NULL, d.released_by = NULL, d.release_reason = NULL WHERE s.status = 'reporting' AND d.release_reason IN ('下班释放占用', '历史非活动记录迁移释放占用') AND NOT EXISTS ( SELECT 1 FROM production_reports r WHERE r.session_id = s.id ) """ ) ) print(f"restored reporting mold locks: {result.rowcount}") if __name__ == "__main__": main()