feat: add modal shop and lottery management
This commit is contained in:
@@ -51,6 +51,21 @@ async def ensure_runtime_schema():
|
||||
UNIQUE(chat_id, item_key)
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_shop_items_chat_enabled ON shop_items(chat_id, enabled);
|
||||
CREATE TABLE IF NOT EXISTS shop_transactions (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
chat_id BIGINT NOT NULL DEFAULT 0,
|
||||
user_id BIGINT NOT NULL,
|
||||
username VARCHAR(255) NULL,
|
||||
item_key VARCHAR(50) NOT NULL,
|
||||
item_name VARCHAR(255) NOT NULL,
|
||||
cost INT NOT NULL DEFAULT 0,
|
||||
status VARCHAR(30) NOT NULL DEFAULT 'success',
|
||||
note VARCHAR(500) NULL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS idx_shop_transactions_chat_created ON shop_transactions(chat_id, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_shop_transactions_chat_user ON shop_transactions(chat_id, user_id);
|
||||
CREATE TABLE IF NOT EXISTS lottery_events (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
@@ -78,6 +93,11 @@ async def ensure_runtime_schema():
|
||||
username VARCHAR(255) NULL,
|
||||
first_name VARCHAR(255) NULL
|
||||
);
|
||||
ALTER TABLE lottery_events ADD COLUMN IF NOT EXISTS title VARCHAR(255) NULL;
|
||||
ALTER TABLE lottery_events ADD COLUMN IF NOT EXISTS description TEXT NULL;
|
||||
ALTER TABLE lottery_events ADD COLUMN IF NOT EXISTS draw_type VARCHAR(50) NOT NULL DEFAULT 'people';
|
||||
ALTER TABLE lottery_events ADD COLUMN IF NOT EXISTS draw_at TIMESTAMPTZ NULL;
|
||||
ALTER TABLE lottery_events ADD COLUMN IF NOT EXISTS max_participants INT NOT NULL DEFAULT 0;
|
||||
CREATE INDEX IF NOT EXISTS idx_lottery_events_chat_status ON lottery_events(chat_id, status);
|
||||
CREATE INDEX IF NOT EXISTS idx_lottery_participants_event_user ON lottery_participants(event_id, user_id);
|
||||
""")
|
||||
|
||||
Reference in New Issue
Block a user