假设我有两个或更多完全不同的对象,每个对象都由数据库中的一个表表示。将这些称为文章、书籍等。现在假设我想为这些对象中的每一个添加评论功能。注释在每个对象中的行为完全相同,因此理想情况下,我希望将它们表示在一个表中。
但是,我不知道这样做的好方法。我知道如何做到这一点的方法是:
- 为每个对象创建一个注释表。Article_comments、Book_comments 等也是如此。每个都有一个指向相应对象的外键列。
- 创建一个全局注释表。有一个引用“Book”或“Article”的comment_type。每个对象都有一个可以为空的外键列,并使用 comment_type 来确定要使用的外键。
上述任何一种方式都需要在每次添加新对象时更新模型/数据库。有没有更好的办法?