Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> uniwersalne logowanie zmian w bazie danych
VegetaSSJ
post 16.06.2010, 11:00:19
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 2
Dołączył: 21.10.2006

Ostrzeżenie: (0%)
-----


Witam koledzy.

Mam bazę danych w wersji rozwojowej z n tabelami. Chciałbym napisać uniwersalny mechanizm działający po stronie bazy danych który będzie logował każdą zmianę w każdej tabeli. Wykorzystać do tego chciałbym trigery i funkcje.

Na potrzebę logowania chciałbym stworzyć osobną tabelę posiadającą takie kolumny: id, tabela (nazwa tabeli z której pochodzi wpis), typ(insert|update|delete), data(NOW()), log .

Mechanizm miałby działać tak że trigery dodawały by do tej tabeli nowy wpis. W kolumnie log chciałbym mieć zapisane najlepiej jak jako ciąg XML wartość logowanego rekordu. Wyobrażam sobie że wyglądało by to tak: <kol1>val1</kol1><kol2>val2</kol2>... gdzie kol1 to nazwa kolumny a val1 to wartość rekordu. Zdecydowałem się na xml, ponieważ potem będzie mi łatwo napisać uniwersalne narzędzie do analizy całego loga.

Problem w chwili obecnej mam taki że nie wiem jak zrobić select który zwróci mi zawartość rekordu w postać jakiegoś ciągu xml.

Koledzy, proszę napiszcie czy może ktoś ma doświadczenie w takim logowaniu zmian w bazie danych, czy może macie inne sposoby. Chcę uniknąć konieczności zakładania dla kazdej tabeli odpowiadającej jej tabeli loga i pisania dla każdej tabeli osobnej funkcji obsługującej logowanie.

Jeżeli coś niedokładnie wyjaśniłem pytajcie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Mchl
post 16.06.2010, 13:21:44
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

Ostrzeżenie: (0%)
-----


http://dev.mysql.com/doc/refman/5.1/en/query-log.html
http://dev.mysql.com/doc/refman/5.1/en/binary-log.html
Go to the top of the page
+Quote Post
VegetaSSJ
post 16.06.2010, 14:06:07
Post #3





Grupa: Zarejestrowani
Postów: 78
Pomógł: 2
Dołączył: 21.10.2006

Ostrzeżenie: (0%)
-----


Nie o coś takiego mi niestety chodzi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:05