Diğer tabloya tüm değişiklikleri oturum olacaktır mysql için izleme aracı herhangi bir tablo değişiklikler var mı?

3 Cevap php

I am working on a Project management system on PHP (CodeIgniter framework), Mysql, AJAX, XAMPP, JQUERY. I need a customizable table changes tracking tool which will log all changes into another table in same database for mysql. Basically I need to have a table which will have log details of updates, inserts and deletes on a database tables with what column has changed to what (summary). So that I can create a report from that table with changes to any particular table.

If there is no tool, I have already started working on my own solution where I am looking at two options.

One is having triggers on all tables which will create a row for each update and inserts with old data and new changed data. But here I need external user input as update comments from the user. How can I insert that data from a trigger. This is some what complex. Please suggest me any solution.

Second one is I will track the changes from PHP and insert every time when I do update and Insert which is more work but easier to implement.

Hangisini tercih edersiniz? Eğer değilse bana bütün bu dikkat ve aynı veritabanında yeni bir tabloya eklemek olacak bir aracı öneririz. Yoksa herhangi bir şey basit eksik?

3 Cevap

Kesinlikle daha çok DB daha uygulama kodunda bu yapıyor tercih. Bu değişiklikleri izleme ve yakalama kolay bir yol verir gibi bir ORM şey bu tür işleme de harika.

Eğer veritabanı erişimi üzerinde mantıklı bir soyutlama varsa, o zaman PHP kodu herhangi bir veritabanı çağrıları önünü ve orada günlük yapmak oldukça basit olmalıdır. Elle SQL kurma ve daha sonra veritabanı aradığınız varsa tabii ki doğrudan değişiklikleri oturum için merkezi bir yer yoktur.

Use stored procedures for all your updating/inserting/deleting The procedure should take all the arguments it needs to perform the given task plus one argument that will contain the comment. Then just update/insert/delete and make a record (with the comment) in the log table.

ps: sen yorum (tetikleyiciler daha aynı sorun) eklemek için gerekirse bazı aracı kullanmak mümkün olacağını nasıl göremiyorum.

phpmyadmin son sürümü beri veritabanı çoğaltma ve değişiklikleri izleme destekler