Add product features, Heleket crypto payments and order status icons.
This commit is contained in:
@@ -96,6 +96,36 @@ func Migrate(ctx context.Context, pool *pgxpool.Pool) error {
|
||||
ON CONFLICT (slug) DO NOTHING`,
|
||||
`UPDATE products p SET category_id = c.id
|
||||
FROM categories c WHERE p.category = c.name AND p.category_id IS NULL`,
|
||||
`ALTER TABLE products ADD COLUMN IF NOT EXISTS attr_size VARCHAR(50) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE products ADD COLUMN IF NOT EXISTS attr_color VARCHAR(50) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE products ADD COLUMN IF NOT EXISTS attr_material VARCHAR(100) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE products ADD COLUMN IF NOT EXISTS attr_weight VARCHAR(50) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE products ADD COLUMN IF NOT EXISTS attr_brand VARCHAR(100) NOT NULL DEFAULT ''`,
|
||||
`CREATE TABLE IF NOT EXISTS product_price_history (
|
||||
id SERIAL PRIMARY KEY,
|
||||
product_id INT NOT NULL REFERENCES products(id) ON DELETE CASCADE,
|
||||
price NUMERIC(10,2) NOT NULL,
|
||||
sale_price NUMERIC(10,2),
|
||||
recorded_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
)`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_price_history_product ON product_price_history (product_id, recorded_at DESC)`,
|
||||
`CREATE TABLE IF NOT EXISTS product_reservations (
|
||||
id SERIAL PRIMARY KEY,
|
||||
product_id INT NOT NULL REFERENCES products(id) ON DELETE CASCADE,
|
||||
session_key VARCHAR(64) NOT NULL DEFAULT '',
|
||||
user_id INT REFERENCES users(id) ON DELETE SET NULL,
|
||||
customer_name VARCHAR(255) NOT NULL DEFAULT '',
|
||||
customer_phone VARCHAR(50) NOT NULL DEFAULT '',
|
||||
expires_at TIMESTAMPTZ NOT NULL,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
)`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_reservations_product ON product_reservations (product_id, expires_at DESC)`,
|
||||
`CREATE INDEX IF NOT EXISTS idx_reservations_session ON product_reservations (session_key)`,
|
||||
`ALTER TABLE orders ADD COLUMN IF NOT EXISTS payment_method VARCHAR(20) NOT NULL DEFAULT 'cod'`,
|
||||
`ALTER TABLE orders ADD COLUMN IF NOT EXISTS heleket_uuid VARCHAR(64) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE orders ADD COLUMN IF NOT EXISTS heleket_order_id VARCHAR(128) NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE orders ADD COLUMN IF NOT EXISTS heleket_payment_url TEXT NOT NULL DEFAULT ''`,
|
||||
`ALTER TABLE orders ADD COLUMN IF NOT EXISTS heleket_payment_status VARCHAR(50) NOT NULL DEFAULT ''`,
|
||||
}
|
||||
|
||||
for _, q := range queries {
|
||||
|
||||
Reference in New Issue
Block a user