我正在寻找一种方法来设置(通过SQL)一个日志表,其中包含对我的sqlite数据库所做的所有事情(最好是根据发布到数据库的insert,create table等语句).我确信有办法通过在每个表上设置触发器来实现它,但这只是太多的工作,如果我稍后更改数据库的模式,那就不好了.是否存在一个对数据库起作用的全局事物(如数据库本身的触发器)?
我也愿意提供其他建议来保存对sqlite数据库所做更改的记录,以便我可以在几个月后回顾这些更改.
(编程当然有方法,但我不能确定我的程序是唯一写入数据库的程序).
虽然以下内容不符合您的所有要求,但您可能希望看到一种方法.Mike Chirico的SQLite教程有一个关于记录所有插入,更新和删除的部分,它模仿MySQL的binlog功能.
它依赖于必须与您希望跟踪其更改的每个表的架构匹配的触发器.也就是说,如果您的表有一个名为"a"的字段,那么日志记录表需要跟踪"aOLD"和"aNEW".通过这种方式,触发器能够记录对该特定表中的字段所做的更新,插入和删除.