私は書いていない古いロギングコードを修正しています。このようなテーブルにより良いロギングデザインかSQLマジック?
Sarah [user_id] added a user [message], slick101 [reference_id, reference_table_name]
:
そうみたいに壊れSarah added a user, slick101
Mike deleted a user, slick101
Bob edited a service, Payment
:これは次のようにメッセージをログに記録のMySQLとPHPで書かれたイベントロガー、ある
log
---
id
user_id
reference_id
reference_table_name
message
ますのでご注意ください上記の例のメッセージの "Bob"と "Payment"は実際の名前ではなく、他のテーブルのIdです。名前を取得するには、結合が必要です。
参照_IDだけが格納されているため、正しいテーブルで適切な名前を見つけるための "reference _ table _ name"のようです。 - 統計のIDを持つことがどれだけ優れて
select * from log l
join {{reference_table_name}} r on r.id = l.reference_id
私は彼がこのテーブルのレイアウトを行っていたところ、私が見ると思う:どういうわけか私はreference_table_nameに保存されているテーブル名に参加することができれば、これはおそらくそうのように、良いでしょう単一の列にメッセージ全体を格納する代わりに(テキスト解析を必要とする)今私は疑問に思っています..
もっと良い方法があるのか、それとも何とかして結婚することが可能ですか?
乾杯