Files
sub2api-cn-relay-manager/internal/store/migrations/0012_provider_accounts.sql
2026-05-29 14:43:34 +08:00

26 lines
1.3 KiB
SQL

CREATE TABLE provider_accounts (
id INTEGER PRIMARY KEY AUTOINCREMENT,
host_id INTEGER NOT NULL,
provider_id INTEGER NOT NULL,
route_id TEXT NOT NULL DEFAULT '',
shadow_group_id TEXT NOT NULL DEFAULT '',
host_account_id TEXT NOT NULL,
key_fingerprint TEXT NOT NULL,
account_name TEXT NOT NULL DEFAULT '',
account_status TEXT NOT NULL,
last_probe_status TEXT NOT NULL DEFAULT '',
last_probe_at TEXT NOT NULL DEFAULT '',
disabled_reason TEXT NOT NULL DEFAULT '',
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_provider_accounts_host FOREIGN KEY (host_id) REFERENCES hosts(id) ON DELETE CASCADE,
CONSTRAINT fk_provider_accounts_provider FOREIGN KEY (provider_id) REFERENCES providers(id) ON DELETE CASCADE,
CONSTRAINT uq_provider_accounts_host_account UNIQUE (host_id, host_account_id),
CHECK (account_status IN ('active', 'disabled', 'deprecated', 'broken'))
);
CREATE INDEX idx_provider_accounts_provider_host ON provider_accounts(provider_id, host_id);
CREATE INDEX idx_provider_accounts_status ON provider_accounts(account_status);
CREATE INDEX idx_provider_accounts_route_id ON provider_accounts(route_id);
CREATE INDEX idx_provider_accounts_shadow_group_id ON provider_accounts(shadow_group_id);