需求是这样的, 尝试使用odoo开源系统, 但是需要对接自己的模块.
想偷个懒就直接改odoo的数据库了, 但是虽然能看到调拨记录, 不过却没有刷新记录个数, 导致在自己直接改数据库之后, 在odoo正常操作会导致key_id重复报错
想了两个解决办法, 第一是直接找odoo的源码, 找到插入时检查最新key_id的方法, 直接改了
不过看源码有点头疼
第二个就是希望直接监控数据库的改动, 把所有操作log出来, 然后在直接改数据库的补上漏掉的部分
搜了一下, 可以通过给每个表加触发器的方法实现
CREATE SCHEMA logging;
CREATE TABLE logging.t_history (
id serial,
tstamp timestamp DEFAULT now(),
schemaname text,
tabname text,
operation text,
who text DEFAULT current_user,
new_val json,
old_val json
);</