Задать вопрос
Kentavr16
@Kentavr16
long cold winter

Как правильно документировать разрастающуюся БД?

Вопрос из обрасти общих знаний. Пишу пэт, довольно амбициозный (не монстр, но функционала и фич хватает). Использую для БД mysql + ORM sequelize. И начал замечать, что сложность структуры БД неумолимо растет. Чувствую что скоро достигну того уровня, когда другой программист, открыв код, потратит много времени на то чтобы сообразить что куда в плане взаимоотношений. Если что-то менять - то прямо сейчас.
Знающие люди, подскажите как такие вопросы решаются на реальных проектах? Очень приветствую примеры из личного опыта. Интересуют как инструменты, так и методология/подходы.
  • Вопрос задан
  • 1858 просмотров
Подписаться 2 Простой 2 комментария
Решения вопроса 3
@Everything_is_bad
ORM уже само по себе хорошая документация, а "сложность структуры БД неумолимо растет" больше про проблему проектирования базы.
Ответ написан
@rPman
Описывай все
Очень хороший тон писать самодокументируемый код, среды разработки и всякие doxygen для обычных языков программирования, и хоть как то описывай базу данных, комментарии, правильное именование и само собой документация. Недостаточно сказать что вот тут лежат записи таких то объектов, опиши их отношения, количественные и не только ограничения, порядок участия в бизнеспроцессах и т.п.
Ответ написан
dmitriylanets
@dmitriylanets
веб-разработчик
1. Основная проблема документации ее поддержка. Когда документация отстает, то она больше мешает чем, помогает.
2. Автоматизация создания доки, помню, использовал Interprice Architect для автосоздания диаграмм бд, в принципе помогало, но боюсь что использовалось только мной
3. В обще кто то сказал что лучшая документация это код, поэтому соглашусь что если есть некий workflow по созданию бд, и есть миграции с описанием что делает та или иная таблица. Я использую Propel2 ORM там есть некий конфиг (chema.xml) которая описывает таблицы + разделения таблицы на пакеты/группы/контекст. Маленьким контекстом проще управлять.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы