Архивирование, связанные с делами - PullRequest
0 голосов
/ 22 мая 2019

Я всегда застреваю в следующих ситуациях:
Скажем, у меня есть таблица модели / базы данных Product.
Продукт произведен в ProductionLine.
, поэтому продукт имеет внешний ключ дляProductionLine.
Продукт имеет такие состояния, как «доставлено», «произведено», «переработано», «in_stock» и т. Д.
И у него есть дата последнего изменения состояния, по которой также индексируется.
Предположим теперь, что у меня есть миллионы доставленных продуктов, несколько тысяч из остальных.
Несколько месяцев идут покупать, и необходимо удалить экземпляр ProductionLine.(вспомните только пример)

Для этих объектов (Продукт) в этом примере, когда родитель удален,
и объект находится в состоянии, которое не должно изменяться, т.е.заархивирован / доставлен.
Должен ли я установить родительское поле внешнего ключа в null?не удалять родителя и просто дать ему состояние not_active.
если у меня есть клон модели, такой как Product и ProductArchived, который хранит все данные (расточительно?)?

Каковы сегодня обычные соглашения,Я новичок в такой ситуации и не могу найти ответы.

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