Организация истории заказов..

Jon

Новичок
Организация истории заказов..

Подскажите, как правильно организовать историю заказов. Интересует вопрос, что будет с заказом после удаления товара, который присудствует в нем.

Как вариан расматривал, добавления в таблиза заказов не ID товара а его TITLE + PRICE + COUNT

Подскажите как правильно (
 

SPavel_74100

Новичок
Вообще из своей практики скажу что товары которые в заказах - удолять нельзя. Правельнее будет , если товар не нужен, просто закрыть его и не показывать в прайсах и т.д.

-~{}~ 30.07.09 15:15:

Странно получается заказ нужен, а товар нет...
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Как вариан расматривал, добавления в таблиза заказов не ID товара а его TITLE + PRICE + COUNT
возможно, так все равно придется сделать, что бы избежать проблем в том случае, если цена товара изменится во время оформления заказа.
 

findnext

Новичок
ну если это история то и писать туда нужно всё в настоящем времени
 

SPavel_74100

Новичок
У товара, скорее всего есть не только поля TITLE + PRICE + COUNT, которые могут потом понадобится.
Тоже будете переписывать в заказы. :)
 

vovanium

Новичок
Jon
Я в книжном магазине делал еще версионность товаров (так как под одним кодом книги могли появляться всевозможные переиздания и т.п., а синхронизация с их внутренней базой была именно по номеру книги).
И тогда в историю откладывалась номер книги, версия + цена отдельно, так как особенно в нынешних условиях цена может несколько раз в день меняться.
Если же такие изменения не предусматриваются, то достаточно просто не удалять, а помечать книги как удаленные, чтобы они не маячили в админке и прайсах, но при этом чтобы они могли показываться в истории.
 

findnext

Новичок
как раз один из случаев когда приходиться прибегать к денормализации данных
 

pilot911

Новичок
обычно, если человек заказал товар и оформил, но не оплатил, то цена все равно не меняется

так что - в заказе и истории нужно хранить цену на момент оформления заказа, имхо
 

korchasa

LIMB infected
Как и сказал vovanium лучше добавить версионность. В случае проблем можно будет отследить ноги. Только цену из версии выносить не стоит, ибо смешение стилей.

Автор оригинала: findnext
как раз один из случаев когда приходиться прибегать к денормализации данных
Это не имеет отношения к денормализации данных. Это разные данные, хоть они и равны друг другу в определенные моменты.

-~{}~ 31.07.09 01:59:

Если больше нравится, то введи понятие "позиции", которое абстрагирует тебя от товара и цены.
 

zerkms

TDD infected
Команда форума
обычно, если человек заказал товар и оформил, но не оплатил, то цена все равно не меняется
выглядит как способ спекуляции на этом - мониторим магазины на предмет временного уменьшения цен. добавляем в корзину. ждём повышения. предлагаем товары с скидкой. профит :)
 

Alexandre

PHPПенсионер
обычная практика - не удалять товары, а ставить им статус "УДАЛЕН"
 
Сверху