Add audited Graphs stock balances
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m33s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 1m33s
This commit is contained in:
@@ -97,6 +97,35 @@ const initDB = async () => {
|
||||
ALTER COLUMN updated_at SET DEFAULT CURRENT_TIMESTAMP;
|
||||
`).catch(() => {});
|
||||
|
||||
// Tiny/Olist remains the imported source balance. Graphs physical balances
|
||||
// are stored separately so planning can use a verified count without
|
||||
// overwriting the audit value received from Tiny.
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS stock_graphs_balances (
|
||||
produto_id VARCHAR(100) PRIMARY KEY,
|
||||
balance NUMERIC(14, 4) NOT NULL,
|
||||
reason TEXT NOT NULL,
|
||||
effective_at DATE,
|
||||
updated_by VARCHAR(255),
|
||||
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
`);
|
||||
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS stock_graphs_balance_history (
|
||||
id SERIAL PRIMARY KEY,
|
||||
produto_id VARCHAR(100) NOT NULL,
|
||||
tiny_balance NUMERIC(14, 4),
|
||||
graphs_balance NUMERIC(14, 4),
|
||||
reason TEXT,
|
||||
effective_at DATE,
|
||||
action VARCHAR(20) NOT NULL DEFAULT 'set',
|
||||
changed_by VARCHAR(255),
|
||||
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
`);
|
||||
|
||||
await pool.query(`
|
||||
CREATE TABLE IF NOT EXISTS stock_campaign_queue (
|
||||
id SERIAL PRIMARY KEY,
|
||||
@@ -675,6 +704,7 @@ const initDB = async () => {
|
||||
});
|
||||
|
||||
await pool.query(`CREATE INDEX IF NOT EXISTS idx_stock_campaign_queue_status ON stock_campaign_queue (status);`);
|
||||
await pool.query(`CREATE INDEX IF NOT EXISTS idx_stock_graphs_balance_history_product_created ON stock_graphs_balance_history (produto_id, created_at DESC);`);
|
||||
await pool.query(`CREATE INDEX IF NOT EXISTS idx_production_orders_status ON production_orders (status);`);
|
||||
await pool.query(`CREATE INDEX IF NOT EXISTS idx_production_orders_issue_date ON production_orders (issue_date DESC);`);
|
||||
await pool.query(`CREATE INDEX IF NOT EXISTS idx_production_orders_expected_date ON production_orders (expected_date DESC);`);
|
||||
|
||||
Reference in New Issue
Block a user