feat(F-177): completed feature
This commit is contained in:
28
project/migrations/051_order_state_changed_at.js
Normal file
28
project/migrations/051_order_state_changed_at.js
Normal file
@@ -0,0 +1,28 @@
|
||||
/** @param {import('node-pg-migrate').MigrationBuilder} pgm */
|
||||
exports.shorthands = undefined;
|
||||
|
||||
exports.up = (pgm) => {
|
||||
pgm.sql(`
|
||||
ALTER TABLE orders_orders
|
||||
ADD COLUMN IF NOT EXISTS state_changed_at timestamptz;
|
||||
|
||||
UPDATE orders_orders
|
||||
SET state_changed_at = updated_at
|
||||
WHERE state_changed_at IS NULL;
|
||||
|
||||
ALTER TABLE orders_orders
|
||||
ALTER COLUMN state_changed_at SET DEFAULT now(),
|
||||
ALTER COLUMN state_changed_at SET NOT NULL;
|
||||
|
||||
CREATE INDEX IF NOT EXISTS orders_orders_stale_state_idx
|
||||
ON orders_orders (state, state_changed_at)
|
||||
WHERE state IN ('PENDING', 'SHIPPED');
|
||||
`);
|
||||
};
|
||||
|
||||
exports.down = (pgm) => {
|
||||
pgm.sql(`
|
||||
DROP INDEX IF EXISTS orders_orders_stale_state_idx;
|
||||
ALTER TABLE orders_orders DROP COLUMN IF EXISTS state_changed_at;
|
||||
`);
|
||||
};
|
||||
Reference in New Issue
Block a user