Est*_*ber 4 python audit sqlalchemy rollback
我开始将SQLAlchemy用于一个新项目,我计划在这个项目中实现类似于此静默提议的审计跟踪:
因为我已经拥有了"有趣"对象的完整历史,所以我在考虑允许用户回滚给定版本,让他们有可能无限制undo.
这可以用SQLAlchemy以干净的方式完成吗?
在内部API(业务逻辑和ORM)中公开此功能的正确方法是什么?
我是一路走来的路user.rollback(ver=42).
虽然我没有专门使用SQLAlchemy,但我可以给你一些可以在任何ORM中轻松实现的一般提示:
Document和DocumentVersion.Document存储不会在版本之间更改的DocumentVersion信息,并存储确实发生更改的信息.DocumentVersion"父"参考.为同一个表创建一个外键,指向该文档的先前版本.Document"当前"版本,回滚到以前的版本.不要删除链底部的版本.例如,创建A,B,C,回滚到B,创建D,E:
(A)
|
(B)
| \
(C) (D)
|
(E)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1134 次 |
| 最近记录: |