![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cześć.
Zamierzam zbudować moduł logów czynności/wykonanych operacji w oparciu o inne moduły dostępne na stronie (np. "user", "articles", "forum") Przykład: Kod ~ Użytkownik "X" edytował użytkownika "Y" ~ Użytkownik "X" napisał artykuł o nazwie "ABCD" ~ Użytkownik "X" usunął użytkownika "Y" Mógłbym trzymać prostej konstrukcji tabeli typu: log_id, time, user_id, content - gdzie w content umieszczałbym bezpośrednio kod HTML z w/w tekstami - jednak to będzie kolidować jeśli np. po czasie użytkownikowi "Y" zmienimy login na "Z" - bym musiał filtrować logi pod kątem hasła "Y" aby zmienić jego nazwę użytkownika. Krótko mówiąc - interesują mnie logi czynności z relacją do innych tabel ("user", "articles", "forum") - tylko w jaki sposób zrealizować schemat bazy - aby podczas pobierania wszystkich logów wyglądało to w miarę optymalnie? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
A zastanawiałeś się już nad implikacją utworzenia relacji między tabelą logs a pozostałymi? Np. co, jeśli zostanie usunięty użytkownik?
-------------------- there is much to be learned
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 350 Pomógł: 31 Dołączył: 23.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli użytkownik zostanie usunięty to dla "content" pójdzie zwykły tekst/kod HTML z jego ostatnim loginem - odnośnika i tak nie zrobię kierującego do jego profilu, ponieważ nie będzie istnieć już w serwisie.
Wracając jednak do relacji: zastanawiam się nad takim rozwiązaniem:
I wówczas dodam dwie nowe kolumny: "module_key" - które będzie odpowiadać za identyfikator z modułu oraz module_name (enum: article, user, forum, itd) - tylko nie testowałem tego jeszcze, dopiero wstałem i taki pomysł mi powstał w głowie, ale czy zadziała? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:52 |