Files
tgvpn/internal/db/migrations/001_init.sql
T

30 lines
965 B
SQL

CREATE TABLE IF NOT EXISTS telegram_users (
id BIGSERIAL PRIMARY KEY,
telegram_id BIGINT NOT NULL UNIQUE,
username TEXT,
first_name TEXT,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS vpn_users (
id BIGSERIAL PRIMARY KEY,
telegram_id BIGINT,
remnawave_uuid UUID NOT NULL UNIQUE,
remnawave_username VARCHAR(36) NOT NULL,
external_squad_uuid UUID,
internal_squad_uuids UUID[] NOT NULL DEFAULT '{}',
expire_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_vpn_users_telegram ON vpn_users(telegram_id);
CREATE INDEX IF NOT EXISTS idx_vpn_users_username ON vpn_users(remnawave_username);
CREATE TABLE IF NOT EXISTS admin_wizard (
admin_telegram_id BIGINT PRIMARY KEY,
step TEXT NOT NULL,
data JSONB NOT NULL DEFAULT '{}',
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);