feat: интерактивный установщик install.sh (Docker / Ubuntu, админ, БД)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
-- Лояльность и промокоды
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS loyalty_points INTEGER NOT NULL DEFAULT 0
|
||||
CHECK (loyalty_points >= 0);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS promo_codes (
|
||||
id SERIAL PRIMARY KEY,
|
||||
code TEXT NOT NULL UNIQUE,
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
discount_type TEXT NOT NULL CHECK (discount_type IN ('percent', 'fixed')),
|
||||
discount_value INTEGER NOT NULL CHECK (discount_value > 0),
|
||||
starts_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
expires_at TIMESTAMPTZ NOT NULL,
|
||||
min_order_cents INTEGER NOT NULL DEFAULT 0 CHECK (min_order_cents >= 0),
|
||||
max_uses INTEGER CHECK (max_uses IS NULL OR max_uses > 0),
|
||||
use_count INTEGER NOT NULL DEFAULT 0 CHECK (use_count >= 0),
|
||||
active BOOLEAN NOT NULL DEFAULT true,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_promo_codes_active ON promo_codes (active, expires_at);
|
||||
|
||||
ALTER TABLE orders ADD COLUMN IF NOT EXISTS subtotal_cents INTEGER;
|
||||
ALTER TABLE orders ADD COLUMN IF NOT EXISTS discount_cents INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE orders ADD COLUMN IF NOT EXISTS promo_code_id INTEGER REFERENCES promo_codes(id);
|
||||
ALTER TABLE orders ADD COLUMN IF NOT EXISTS loyalty_points_used INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE orders ADD COLUMN IF NOT EXISTS loyalty_points_earned INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
UPDATE orders SET subtotal_cents = total_cents WHERE subtotal_cents IS NULL;
|
||||
Reference in New Issue
Block a user