30 lines
1.1 KiB
SQL
30 lines
1.1 KiB
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
CREATE TABLE IF NOT EXISTS recharge_codes(
|
|
id bigserial PRIMARY KEY,
|
|
code varchar(64) NOT NULL,
|
|
amount bigint NOT NULL,
|
|
status varchar(32) DEFAULT 'inactive',
|
|
activated_by bigint DEFAULT 0,
|
|
activated_at timestamp with time zone,
|
|
redeemed_by bigint DEFAULT 0,
|
|
redeemed_at timestamp with time zone,
|
|
redeemed_order_id bigint DEFAULT 0,
|
|
remark varchar(255) DEFAULT '',
|
|
created_at timestamp with time zone DEFAULT NOW(),
|
|
updated_at timestamp with time zone DEFAULT NOW(),
|
|
UNIQUE (code)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_codes_status ON recharge_codes(status);
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_codes_activated_at ON recharge_codes(activated_at);
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_codes_redeemed_at ON recharge_codes(redeemed_at);
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_codes_redeemed_by ON recharge_codes(redeemed_by);
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_codes_redeemed_order ON recharge_codes(redeemed_order_id);
|
|
-- +goose StatementEnd
|
|
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
DROP TABLE IF EXISTS recharge_codes;
|
|
-- +goose StatementEnd
|