Saat ini saya ingin menyusun tabel pelacakan / riwayat seperti ini:
- PrimaryKey - ID
- OtherTableId - fk
- fieldName - nama bidang yang dilacak
- OldValue
- Nilai baru
- Nama pengguna
- CreateDateTime
Jadi pada dasarnya saya ingin memiliki tabel yang akan melacak sejarah tabel lain, menyimpan nama kolom bidang yang diubah dengan nilai baru dan lama. Pertanyaan saya, adakah yang bisa melubangi ini? Juga, apa cara termudah untuk memastikan bahwa hanya nama kolom dari tabel pelacakannya dimasukkan ke kolom fieldName? Saat ini opsi saya adalah memiliki enum di layanan yang saya buat, atau membuat tabel status lain dan menjadikan fieldName sebagai fk. Ada ide yang lebih baik?
Sunting Sasaran: Saat ini hanya ada 2 bidang yang ingin kami lacak. Satu bidang akan ditampilkan pada halaman web untuk menampilkan riwayat, bidang lainnya hanya akan diakses oleh satu departemen dan mereka memiliki akses ke tampilan database yang dapat mereka query. Mereka akan menanyakan hanya satu bidang ini untuk mendapatkan informasi tentang siapa yang mengubah bidang dan apa yang harus dilakukan. Ini adalah alasan kami ingin mengaturnya di mana bidang database mendefinisikan kolom tabel daripada memiliki salinan yang tepat dari sejarah catatan tabel. Kami hanya ingin dua bidang dilacak dengan kemungkinan menambah atau menghapus bidang di masa mendatang.
Terima kasih!