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