Какие таблицы базы данных хранят информацию о заказах?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 dream2work
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 26.05.2010

26.05.2010 18:10

В базе Magento есть следущие таблицы:
sales_flat_quote
sales_flat_quote_address
sales_flat_quote_address_item
sales_flat_quote_item
sales_flat_quote_item_option
sales_flat_quote_payment
sales_flat_quote_shipping_rate
В них дублируется информация про ордера
Для где и для чего они использутся я не могу понять.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

27.05.2010 10:33

Недаром создатели Magento дают таблицам базы данных Magento осмысленные имена.
quote - это заказ покупателя
quote_address, quote_address_item - это адреса, связанные с заказом покупателя
quote_item - это статья заказа
quote_item_option - это опция, выбранная покупателем при заказе настраиваемого товара
quote_payment - это данные о способе оплате и его параметрах для заказа
quote_shipping_rate - это тарифы доставки для заказа

Работать с данными таблицами напрямую посредством команд SQL не рекомендуется (за исключением, быть может, самых простых команд вроде TRUNCATE).
Гораздо правильнее (грамотнее, надёжнее) для чтения / обновления базы данных использовать прикладной программный интерфейс Magento.

#3 dream2work
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 26.05.2010

27.05.2010 12:44

Согласен. Но вопрос немножко иной - зачем они дублируют информацыю которая уже есть в таблицах sales_order* в виде сущностей.
Причем в таблицах sales_flat_quote* нет сущностей как таковых - - каждая таблица грубо говоря и являет собой сущность и каждый аттрибут сущности представлен полем в таблице.

Например заказ - это сущность order.
Он хранится в таблице sales_order - аттрибуты соответствено в sales_order, sales_order_varchar, sales_order_int ....
А в sales_flat_quote - вся информация продублирована.

Сущность оплаты - order_payment - хранится в sales_order_entity - аттрибуты соответствено в sales_order_entity, sales_order_entity_varchar, sales_order_entity_int ....
sales_flat_quote_payment - вся информацыя продублирована.

Может я немного ушел в сторону и мой топик не несет никакой полезной информации по использованию\администрированию Magento - но если кто знает для чего разработчики используют эти таблицы буду благодарен :).

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

27.05.2010 13:10

quote - это заказ в значении "содержимое корзины"
order - это заказ в значении "оформленная заявка от покупателя, документ".
quote после оформления покупателем является основой для формирования order.
order меняет свои состояния в зависимости от дальнейших бизнес-процессов.

#5 dream2work
  • Группа: Пользователь
  • Сообщений: 4
  • Регистрация: 26.05.2010

27.05.2010 14:15

Спасибо, теперь все понял.

Поделиться темой: