简体   繁体   English

跟踪数据库更改

[英]Tracking database changes

Does anyone here can suggest a way to track database changes that were made through wordpress? 这里有人可以建议一种方法来跟踪通过wordpress进行的数据库更改吗? For example I add a menu in wordpress, how can I keep track of this changes in database? 例如,我在wordpress中添加菜单,如何跟踪数据库中的更改?

I use mysql I tried searching and I only find toad and mysqldiff but still no luck. 我使用尝试搜索的mysql,但只找到蟾蜍和mysqldiff,但仍然没有运气。 I also tried activating tracking for mysql but it only records changes that were made through phpmyadmin 我还尝试过激活mysql跟踪,但它仅记录通过phpmyadmin进行的更改

You can create a trigger function in your mysql database. 您可以在mysql数据库中创建触发函数。 This function could copy the row before any UPDATE or INSERT statement into a separate table. 此函数可以将任何UPDATE或INSERT语句之前的行复制到单独的表中。

http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html http://dev.mysql.com/doc/refman/5.7/en/create-trigger.html

BUT! 但! Write a small IF check into your procedure so that you can disable it. 在您的过程中写入一个小的IF检查,以便可以将其禁用。 Otherwise you will have a hard time when importing data through sql scripts during development. 否则,在开发过程中通过sql脚本导入数据时会遇到困难。

A sample: 一个样品:

DROP TRIGGER IF EXISTS `backup`;
DELIMITER //
CREATE TRIGGER `backup`
BEFORE UPDATE
ON `sourceTable` FOR EACH ROW
BEGIN
    IF @disableTriggers <> 1 THEN
        INSERT INTO `backupTable` (col1,col2,col3) VALUES (OLD.col1,OLD.col2,OLD.col3)
    END IF;
END;
//
DELIMITER ;

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

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