Dans Magento 1, les informations d'inventaire sont stockées dans un objet Article en stock. Chaque objet de stock est associé à un objet produit. Magento persiste les objets Article Stock dans la cataloginventory_stock_item
table.
Cependant, chaque objet Article de stock a un objet État de stock associé. L'état du stock semble être une table (index | cache | dénormalisée) qui stocke l'état du stock d'un produit sous la forme d'une constante entière et vous permet d'associer plusieurs articles en stock et produits à un autre website_id
. Magento conserve les objets d'état des stocks dans le cataloginventory_stock_status
. Les constantes de classe et le schéma de table pour cela sont ci-dessous.
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)
Cependant , pour des raisons qui ne sont pas entièrement claires, il existe également une qty
colonne dans ce tableau.
Quelle est la relation entre ces deux qty
colonnes?
Quelle est la source de vérité qty
et quelle est la valeur indexée / mise en cache? La valeur est-elle stock_status
simplement une version mise en cache de ce qui est dans la table des articles en stock? Ou existe-t-il un moyen de configurer Magento pour gérer les stocks au niveau du site Web? Ou la relation est-elle autre chose que ce que j'ai décrit?