23 lines
822 B
SQL
23 lines
822 B
SQL
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);
|