Files
fa-agent/finance/migrations/0005_formuladefinition_revision.py
T
Jayway Liu 0aaa87e31a fix(definitions): F05 定义库保存原子化并引入 revision 冲突检测
- FormulaDefinition 增加 revision 字段(迁移 0005)
- 保存接口在单事务内锁定用户所属行序列化并发:配额(50/数据集)检查与写入原子化,
  不再可能产生第 51 条;唯一约束竞争返回 409
- 同名更新必须携带匹配的 revision,两个窗口不再相互静默覆盖;
  GET 列表返回当前 revision;保存增加 30/小时限流
- 审计与定义变更(保存/删除)同一事务提交,审计失败一并回滚
- 前端保存同名定义时携带已知 revision,并明示“同名覆盖”行为
- 测试:revision 边界(缺失/过期/正确/再次过期)、配额拒绝与释放、
  审计失败回滚;PostgreSQL 并发配额用例独立门禁(本机 SQLite 跳过)
2026-09-26 01:37:55 +08:00

19 lines
404 B
Python

# Generated by Django 5.2.17 on 2026-09-25 17:30
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('finance', '0004_formuladefinition'),
]
operations = [
migrations.AddField(
model_name='formuladefinition',
name='revision',
field=models.PositiveIntegerField(default=1),
),
]