![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
witam,
Mam takie zadanie. Mam w bazie okolo 100 tabel (forum vbulletin). Z GUI forum wykonuje akcje np. Ban user albo Delete User. Czy jest moze jakies narzedzie ktore pozwolilo by zapamietac status tabel (ilosc wierszy ale i co jest w tych wierszach) przed akcja i porownac z wartosciami po wykaniu akcji Ban czy Delete? Musze sprawdzic jakich tabel dotyka (Insert/Update/Delete) dana akcja, by potem moc zautomatyzowac i wykonac SQLem. Dziekuje za pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 10 Dołączył: 17.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jedyne co mi przychodzi na myśl to pozakładać wyzwalacze na tabele. Nie jest to raczej eleganckie rozwiązanie, ale pozwoli wykonywać akcje po UPDATE, DELETE lub INSERT wybranej tabeli. Jeżeli ma to być tymczasowe rozwiązanie w celu zdiagnozowania jakiegoś problemu to powinno się sprawdzić. W innym wypadku raczej nie polecam. (IMG:style_emoticons/default/smile.gif) Więcej na ten temat w google.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Zrób sobie zrzut bazy przed i po zmianach (jako czysty SQL). Następnie korzystając z np. z KDiff porównaj oba zrzuty.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
dzieki, sprobuje napisac rozwiazanie w sql i php do tego. robic kopie tabel, a po akcji, porownywac zawartosci skopiowanych tabel z oryginalnymi. moze cos z tego wyjdzie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wystarczy odpalić jakiegoś profilera czy choćby query loga, żeby zobaczyć jakie zapytania lecą do bazy danych?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
powórzę to co @Crozin, chyba najprościej włączyć pełne logowanie sql:
general_log = 1; general_log_file = /path/to/query.log; |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ładniej będzie logować do BD:
http://stackoverflow.com/a/14403905/3732803 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 131 Pomógł: 1 Dołączył: 2.11.2014 Ostrzeżenie: (0%) ![]() ![]() |
dzieki za odpowiedzi. poprobuje.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 02:50 |