Моделирование данных для комментариев к постам - PullRequest
1 голос
/ 29 февраля 2012

Я работаю над инструментом публикации, который имеет структуру, аналогичную блогам, когда у пользователя много постов и постов с комментариями, а у каждого комментария есть владелец и т. Д.

Я не планирую использовать комментарии каким-либо совокупным образом, что означает, что комментарии будут просто отображаться, когда люди просматривают соответствующий пост, но больше ничего не делают.

Я думаю о том, чтобы просто сохранить все комментарии в виде JSON элементов {timestamp: {user: comment}}, например, так:

{{"01-04-12-08": {"Джон": "Эй, круто!"}}, {"01-04-12-15": {"Мэри": "Нет, это не так"} }, ...}

Вместо использования таблиц базы данных он будет хранить всю структуру данных в виде строки, а затем позже при необходимости вернет ее обратно в JSON.

Это правильный способ сделать что-то подобное? Или я должен создать таблицы базы данных? Я просто чувствовал, что создание таблиц и ассоциаций было немного излишним, так как эти комментарии не будут использоваться так сильно, как просто отображаться для каждого поста. Может это не так?

Ответы [ 2 ]

3 голосов
/ 29 февраля 2012

Я просто чувствовал, что создание таблиц и ассоциаций было немного излишним ...

Это действительно не так. Просто проще сохранять комментарии, как и остальные ваши табличные данные, а не изобретать пол-колеса в магазине JSON. Вам просто нужно написать короткую миграцию и минимальный класс модели, чтобы получить весь набор ActiveRecord трюков. И вы получите более простой путь к обновлениям, таким как темы, уведомления, фильтрация спама, голосование и т. Д.

2 голосов
/ 29 февраля 2012

Если вы действительно предпочитаете работать с json, а не с таблицами, вы можете заглянуть в базу данных документов, например mongodb .Однако, по моему опыту, реляционные базы данных немного более гибки, и с помощью rails так легко с ними общаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...