PrevEmployment: add FK user_account → employee.user_account with ON UPDATE CASCADE
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 55/100
调研方向
Start with api/db/schema/prev_employment.py and the Alembic migration for #138 to follow the existing foreign key pattern. Check how migrations detect and report orphaned prev_employment rows, then add the constraint with ON UPDATE CASCADE and default delete behavior. Add tests for cascading employee account updates and rejecting unknown accounts; done when both behaviors pass and orphan handling is explicit.
由索引模型根据 Issue 内容生成。
描述
PrevEmployment.user_account is a bare UUID column with no relation to Employee. Align it with the decision made for StudentDocuments in #138.
Goal
Add a foreign key PrevEmployment.user_account → employee.user_account with ON UPDATE CASCADE, so that:
- no
PrevEmploymentrow can reference a non-existent user (referential integrity) - remapping
employee.user_account(e.g. during the planned account fusion migration) updatesPrevEmploymentautomatically
Lookups keep using the JWT sub directly; no join through Employee is needed.
Tasks
- Alembic migration adding the FK constraint (
ON UPDATE CASCADE; delete behaviour stays as default/restrict) - Before adding the constraint: detect orphaned
prev_employmentrows whoseuser_accounthas no matchingemployeerow, and decide how to handle them (delete / report). The migration must not fail silently. - Update the SQLModel schema
api/db/schema/prev_employment.py(foreign_key="employee.user_account",ondelete/onupdateviasa_column_kwargsorsa_column) - Test: updating
employee.user_accountcascades toprev_employment.user_account - Test: inserting a
PrevEmploymentwith an unknownuser_accountfails
Out of scope
- Changes to the PrevEmployment endpoints
Related: #138
- 主要语言
- Python
- 星标
- 0
- 派生
- 0
- 平均合并
- 29 分钟
- 30 天内合并 PR
- 14
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ClockGU/clockwork-backend 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
ClockGU/clockwork-backend#169 ·
维护者通常 1 天内回复
-
Refactor - Mail sending and EmailHandler可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 3/5 1-2 天 新手友好度 45/100
ClockGU/clockwork-backend#176 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 20/100
ClockGU/clockwork-backend#165 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 20/100
ClockGU/clockwork-backend#164 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 20/100
ClockGU/clockwork-backend#163 ·
维护者通常 1 天内回复
查看 ClockGU/clockwork-backend 的全部 Issue
相似的 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
aws/sagemaker-python-sdk#6554 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 78/100
huggingface/diffusers#15170 ·
维护者通常 1 天内回复
-
[BUG] LLM conflict check ignores MNEMOSYNE_LLM_MAX_TOKENS, so reasoning models return empty replies未关闭
难度 2/5 1-3 小时 新手友好度 62/100
mnemosyne-oss/mnemosyne#1325 ·
维护者通常 1 天内回复
-
enhancement meshtastic-2.8
难度 2/5 1-3 小时 新手友好度 62/100
pskillen/meshflow-api#459 ·