In Magento 1, le informazioni di inventario sono archiviate in un oggetto Articolo di magazzino. Ogni oggetto Articolo in magazzino è associato a un oggetto prodotto. Magento persiste gli oggetti oggetto di scorta sul cataloginventory_stock_item
tavolo.
Tuttavia, ogni oggetto Articolo in stock ha un oggetto Stato stock correlato. Lo stato dello stock sembra essere una tabella (indice | cache | de-normalizzata) che memorizza lo stato dello stock di un prodotto come in costante intera e consente di associare più articoli e prodotti a uno diverso website_id
. Magento persiste gli oggetti stato stock su cataloginventory_stock_status
. Le costanti di classe e lo schema di tabella per questo sono di seguito.
class Mage_CatalogInventory_Model_Stock_Status extends Mage_Core_Model_Abstract
{
const STATUS_OUT_OF_STOCK = 0;
const STATUS_IN_STOCK = 1;
}
mysql> describe cataloginventory_stock_status;
+--------------+----------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+----------------------+------+-----+---------+-------+
| product_id | int(10) unsigned | NO | PRI | NULL | |
| website_id | smallint(5) unsigned | NO | PRI | NULL | |
| stock_id | smallint(5) unsigned | NO | PRI | NULL | |
| qty | decimal(12,4) | NO | | 0.0000 | |
| stock_status | smallint(5) unsigned | NO | | NULL | |
+--------------+----------------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
Tuttavia , per motivi che non sono del tutto chiari, c'è anche una qty
colonna in questa tabella.
Qual è la relazione tra queste due qty
colonne?
Qual è la fonte della verità qty
e qual è il valore indicizzato / memorizzato nella cache? Il valore è stock_status
semplicemente una versione cache di ciò che è nella tabella degli articoli di scorta? O c'è un modo per configurare Magento per gestire lo stock a livello di sito Web? O la relazione è qualcosa di diverso da quello che ho descritto?