Dalam Magento 1, informasi Persediaan disimpan dalam objek Item Saham. Setiap objek Stok Item dikaitkan dengan objek produk. Magento tetap objek Stock Item ke atas cataloginventory_stock_item
meja.
Namun, setiap objek Stok Item memiliki objek Status Stok terkait. Status Stok tampaknya menjadi tabel (indeks | cache | de-dinormalisasi) yang menyimpan status stok produk sebagai konstanta integer, dan memungkinkan Anda untuk mengaitkan beberapa item stok dan produk dengan yang berbeda website_id
. Magento tetap mempertahankan status stok objek ke cataloginventory_stock_status
. Konstanta kelas dan skema tabel untuk ini ada di bawah ini.
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)
Namun , untuk alasan yang tidak sepenuhnya jelas, ada juga sebuah qty
kolom dalam tabel ini.
Apa hubungan antara kedua qty
kolom ini?
Yang merupakan sumber kebenaran qty
dan yang merupakan nilai diindeks / di-cache? Apakah nilai stock_status
hanya versi yang di-cache dari apa yang ada di tabel item persediaan? Atau adakah cara untuk mengonfigurasi Magento untuk mengelola stok di tingkat situs web? Atau apakah hubungan itu sesuatu yang berbeda dari yang telah saya jelaskan?
Jawaban:
Bagiku qty in
cataloginventory_stock_item
adalah sumber kebenaran, dan qty incataloginventory_stock_status
adalah nilai yang di-cache / diindeks. Membangun kembali indeks Status Stok tampaknya selalu menyalin nilai daricataloginventory_stock_item
kecataloginventory_stock_status
. Jika ada beberapa situs web, akan ada juga catatan untuk setiap kombo product_id / website_idcataloginventory_stock_status
. Ini menunjukkan kemungkinan tingkat stok yang berbeda per situs web, tetapi sejauh yang saya tahu nilai qty selalu sama untuk masing-masing.Saya pikir ini mungkin merupakan awal dari fitur multi-saham seperti yang disarankan oleh Marius dalam posting ini: Tujuan katalog tabelinventory_stock
sumber