繁体   English   中英

如何跟踪 model 更改 nodejs/postgresql

[英]How to track model changes nodejs/postgresql

我有一个应用程序在 Postgresql/Express/Knex/Objection 中保存数据。 我在寻找。 跟踪模型中的更改的方式,以便我可以管理和恢复类似于 rails 中的 paper_trail 或此端口以进行续集的版本: https://github.com/nielsgl/sequelize-paper-trail

有什么我可以在 Knex/Objection 或数据库级别用于跟踪更改的东西吗

回答:在 Objection 和 knex 中没有任何通用的方法可以做到这一点。

随意乱跑:

您需要设计您喜欢跟踪的更改类型并编写一些代码,例如 Model 钩子以反对如何跟踪更改。

实现它的一种方法是例如添加一个单独的表,其中所有跟踪的更改都写入例如 JSONB object 中,其中存储和索引更新的字段或旧值或类似的东西。 我很确定您不想添加对数据库中所有数据的跟踪,因为它会非常快地破坏数据库大小。

无论如何,实施取决于您喜欢或需要跟踪数据的实际原因以及您需要支持的实际用例。

这也可能对您有用:https://wiki.postgresql.org/wiki/Audit_trigger

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM