chore(backup): 保存新版预审开发前的代码与文档基线
verify / test-and-build (push) Canceled after 0s

This commit is contained in:
2026-09-28 16:34:10 +08:00
parent b10093f9d8
commit 4d5a420671
37 changed files with 3890 additions and 10 deletions
+9 -2
View File
@@ -602,10 +602,17 @@ class ProjectAssistantService(DocumentsMixin, ExperiencesMixin):
if current["data_domain"] != "demo":
raise ValueError("禁止重置正式项目")
records = [dict(r) for r in db.execute("SELECT * FROM assistant_objects WHERE project_id=? OR (kind='project' AND id=?)", (item["id"], item["id"]))]
put(db, "reset_archive", {"id": uid("reset"), "source_project_id": item["id"], "records": records, "actor": actor, "created_at": now()}, immutable=True)
events = [dict(r) for r in db.execute("SELECT * FROM assistant_events WHERE project_id=? ORDER BY seq", (item["id"],))]
time_events = [dict(r) for r in db.execute("SELECT * FROM business_time_events WHERE project_id=? ORDER BY started_at", (item["id"],))]
put(db, "reset_archive", {"id": uid("reset"), "source_project_id": item["id"], "records": records,
"events": events, "time_events": time_events, "actor": actor, "created_at": now()}, immutable=True)
db.execute("DELETE FROM assistant_jobs WHERE project_id=?", (item["id"],))
db.execute("DELETE FROM assistant_idempotency WHERE object_id IN (SELECT id FROM assistant_objects WHERE project_id=?)", (item["id"],))
db.execute("DELETE FROM assistant_objects WHERE project_id=? OR (kind='project' AND id=?)", (item["id"], item["id"]))
db.execute("DELETE FROM assistant_events WHERE project_id=?", (item["id"],))
db.execute("DELETE FROM business_time_events WHERE project_id=?", (item["id"],))
self._seed_project(db, item, "demo")
self._seed_timeline(db, item)
event(db, item["id"], "demo.reset", actor, {"recoverable": True})
return {"status": "reset", "data_domain": "demo", "projects": len(fixtures["projects"]), "recoverable": True}
return {"status": "reset", "data_domain": "demo", "projects": len(fixtures["projects"]),
"recoverable": True, "history_reset": True}