SORU
14 EKİM 2008, Salı


changelog / denetim veritabanı tablosu için en iyi tasarım?

farklı değişim günlüğü/denetim depolamak için bir veritabanı tablosu oluşturmak istiyorum (bir şey eklenmiş,Silinmiş,değiştirilmiş,vb). ben özellikle detaylı bilgi depolamak için ihtiyaç, hat boyunca bir şey düşünüyordum:

  • kimliği (etkinlik için)
  • kullanıcı bunu tetikledi
  • etkinlik adı
  • olay açıklama
  • olayın zaman damgası

bir şey mi kaçırıyorum? açıkçası bende kalabilir iyileştirilmesi tasarımı, gerçi ben plan yapma karmaşık (oluşturma diğer tablolar için olay türleri veya bu gibi şeyler, söz konusu bu yana karmaşık bir durum için gerekir)

CEVAP
19 Kasım 2008, ÇARŞAMBA


Üzerinde çalıştığım proje, denetim günlüğü de tarif ettiğin gibi çok minimalist tasarımından başladı:

event ID
event date/time
event type
user ID
description

Fikri aynıydı: bazı şeyleri basit tutmak için

Ancak, bu minimalist tasarım yeterli olduğu kısa sürede belli oldu. Tipik denetim, bu gibi sorular için aşağı kaynar

Who the heck created/updated/deleted a record 
with ID=X in the table Foo and when?

Bu tür sorulara cevap vermek mümkün hızlı olabilmek için, (SQL kullanarak), denetim tabloda iki ek sütunlar sonuçlandırdık

object type (or table name)
object ID

Bu bizim denetim tasarımı gerçekten (bir kaç yıldır) stabilize günlük.

Ders, "gelişim" yedek anahtarları vardı tabloları çalışacak. son Ama bilin bakalım ne oldu? Denetim değer tüm tabloları böyle bir anahtar var mı!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Matus Slovak

    Matus Slovak

    5 Temmuz 2007
  • Trulia

    Trulia

    29 Kasım 2006