В последние несколько часов я боролся за размышления о том, к какому маршруту я должен идти. У меня есть модель уведомления. До сих пор я использовал столбец notification_type для управления типами, но я думаю, что будет лучше создавать отдельные классы для типов уведомлений, поскольку они ведут себя по-разному.
Прямо сейчас есть три способа уведомления: отправить SMS, Twitter, электронную почту
Каждое уведомление будет иметь:
id
subject
message
valediction
sent_people_count
deliver_by
geotarget
event_id
list_id
processed_at
deleted_at
created_at
updated_at
Кажется, что STI - хороший кандидат? Конечно, у Твиттера/СМС не будет темы, а у Twitter не будет sent_people_count. Я бы сказал, что в этом случае они разделяют большинство своих полей. Однако что, если я добавлю поле "reply_to" для twitter и boolean для DM?
Моя точка зрения заключается в том, что сейчас STI имеет смысл, но это тот случай, когда я, возможно, буду пинать себя в будущем, не только начиная с MTI?
Чтобы еще больше усложнить ситуацию, я хочу, чтобы модель информационного бюллетеня была своего рода уведомлением, но разница в том, что она не будет использовать event_id или deliver_by.
Я мог видеть все подклассы уведомления, используя примерно 2/3 полей базового класса уведомлений. Является ли ИППП без проблем, или я должен использовать MTI?