Структура базы данных для версий и нескольких языков - PullRequest
3 голосов
/ 29 мая 2010

Как я могу решить проблему контента, существующего в нескольких версиях и на нескольких языках?

Моя текущая структура:
http://i46.tinypic.com/72fx3k.png

У каждого контента может быть только одна активная версия на каждом языке, и мне интересно, как лучше решить эту проблему.

Прямо сейчас у меня есть столбец таблицы contentversions , что означает, что для каждого изменения активной версии мне нужно запускать обновление и устанавливать active = false на всех версиях, а затем обновление для установки active = true для рассматриваемой части содержимого.

1 Ответ

2 голосов
/ 29 мая 2010

Вы можете использовать таблицу activeversion с той же структурой, что и content_contentversion_languages, но с уникальным ключом на (content_id, language_id) и одним внешним ключом во всех столбцах, ссылаясь на content_contentversion_languages. Чтобы пометить новую версию как активную, требуется всего одна ВСТАВКА или ОБНОВЛЕНИЕ этой таблицы.

...