Files
havline-native/app-src/migrations/010_proxy_host_port_unique.sql
T

23 lines
822 B
SQL
Raw Normal View History

UPDATE proxy_hosts
SET listen_port = (
SELECT listen_port FROM proxy_rules WHERE proxy_rules.id = proxy_hosts.rule_id
)
WHERE listen_port IS NULL;
CREATE TABLE proxy_hosts_new (
id INTEGER PRIMARY KEY AUTOINCREMENT,
rule_id INTEGER NOT NULL REFERENCES proxy_rules(id) ON DELETE CASCADE,
hostname TEXT NOT NULL COLLATE NOCASE,
listen_port INTEGER NOT NULL CHECK (listen_port > 0 AND listen_port <= 65535),
created_at TEXT NOT NULL DEFAULT (datetime('now')),
UNIQUE(hostname, listen_port)
);
INSERT INTO proxy_hosts_new (id, rule_id, hostname, listen_port, created_at)
SELECT id, rule_id, hostname, listen_port, created_at FROM proxy_hosts;
DROP TABLE proxy_hosts;
ALTER TABLE proxy_hosts_new RENAME TO proxy_hosts;
CREATE INDEX IF NOT EXISTS idx_proxy_hosts_rule_id ON proxy_hosts(rule_id);