IgorPI
@IgorPI

Стратегия хранения заказов?

Коллеги, давайте разведём холивар.

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

Ближе к делу.

Сущности
---------------
Product
Order
Customer
---------------

Здесь всё максимально просто.
5d938814cb7b5703508151.png

Но мы ведь понимаем, что после того как человек заказал что-либо, всегда может поменяться цена.

Основной посыл вопроса, как хранить историю?
Нужно создавать ещё одну таблицу с товарами, где они будут фиксироваться?
Или достаточно сохранить название и цену, где-нибудь в History Products Orders.

Я прекрасно понимаю, что должна быть ещё одна таблица где будут фиксироваться купленные товары, но как её назвать чёрт возьми, что бы это как минимум логично звучало.

Спасибо!
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 2
@dimoff66
Кратко о себе: Я есть
Тут вряд ли можно развести холливар. У заказа должен быть таймстемп и у записи изменения цены должен быть таймстемп, соответственно цена для заказа должна быть равна самой поздней записи установки цены со временем меньшим чем время заказа.

То есть price должен быть не в product (хотя там можно оставить, чтобы получить актуальную цену на текущий момент), а в таблице prices (timestamp, product_id, price) индексированной по двум первым колонкам.
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
ИМХО(во всяком случае я делаю так):
есть таблица orders, с которой связана ordered_items, которая в свою очередь суть дубль таблицы товаров, кроме поля qty - количество. И в админке можно открыть заказ, посмотреть товары, поудалять если отказались етц...
Ответ написан
Ваш ответ на вопрос

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

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