Привет, я тут думаю над структурой.
У меня в проекте есть такие сущности, как новости, редакторские статьи, посты блогов юзеров и комменты ко всем.
Думаю как сделать таблицу comments, чтобы можно было юзать через AR.
В pg сделал бы sequence для id статей, новостей и постов, в mysql их нет. Если сделаю такой индекс в поле отдельной таблицы - не смогу юзать AR для сущностей.
Получается таблица на каждую сущность + таблица связка для комментов.
+ 3 view для комментов по типам сущностей, чтобы не вписывать везде join-ы и условие по типу.
Можно ли в mysql делать делать delete/update для view, созданный по запросу с inner join, как в pg?
Или лучше сделать иначе?
Можно и в таблице комментариев прямо указывать тип.
тут вариантов много.
Что думаете?
У меня в проекте есть такие сущности, как новости, редакторские статьи, посты блогов юзеров и комменты ко всем.
Думаю как сделать таблицу comments, чтобы можно было юзать через AR.
В pg сделал бы sequence для id статей, новостей и постов, в mysql их нет. Если сделаю такой индекс в поле отдельной таблицы - не смогу юзать AR для сущностей.
Получается таблица на каждую сущность + таблица связка для комментов.
Код:
CREATE TABLE comment_binding(
comment_id INTEGER NOT NULL,
reference_id int,
type enum('post','news','page')
)
Можно ли в mysql делать делать delete/update для view, созданный по запросу с inner join, как в pg?
Или лучше сделать иначе?
Можно и в таблице комментариев прямо указывать тип.
Код:
CREATE TABLE comments(
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
type enum('post','news','page'),
post_id int REFERENCES `posts` (`id`),
news_id int REFERENCES `news` (`id`),
page_id int REFERENCES `pages` (`id`)
Что думаете?