Изменения

Перейти к: навигация, поиск

BugzillaORM

1686 байтов убрано, 22:17, 13 марта 2012
м
Текущее состояние
* Объект, баг, пользователь, группа, комментарий к багу.
* Продукт имеет специальный смысл — разграничение прав. Поэтому он тоже обязателен.
 
У объектов есть:
* ID — первичный ключ
* Поля
* Ссылка на родителя (ID, тип задаётся в классе сущности). Сущности образуют дерево.
* Способ преобразования в строку
 
Логическая неконсистентность:
* Объект «компонент» имеет поле «продукт», тип которого — ссылка на объект «продукт»
* Чтобы отказаться от дурацкой системы «контролирующих значений» и сделать дерево, в объекте «баг» самостоятельного поля «продукт» быть не должно
* Но как тогда выбирать сначала продукт, а потом компонент, при редактировании бага?
* Получается, что «продукт» — это просто способ подразделения компонентов
 
Ещё одна логическая неконсистентность:
* Если мы не хотим завязываться на существование поля «компонент», но у нас всё равно «дерево», получается, что в случае отсутствия поля «компонент» баг привязывается напрямую к продукту
 
И ещё одна:
* Если «продукт» — это всего лишь способ уточнения компонентов, то как же ограничивать им другие поля?
У каждого поля есть:

Навигация