27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
|
|
CREATE TABLE host_network (
|
|
public_ipv4_cidr_block TEXT NOT NULL,
|
|
network_name TEXT NOT NULL,
|
|
host TEXT NOT NULL REFERENCES hosts(id) ON DELETE RESTRICT,
|
|
CONSTRAINT host_network_pkey PRIMARY KEY (host, network_name)
|
|
);
|
|
|
|
INSERT INTO host_network (host, network_name, public_ipv4_cidr_block) VALUES ('baikal', 'virbr1', '69.61.2.162/27'),
|
|
('baikal', 'virbr2', '69.61.2.194/26'),
|
|
('baikal', 'virbr3', '69.61.38.193/26');
|
|
ALTER TABLE vms RENAME COLUMN last_seen_ipv4 TO public_ipv4;
|
|
ALTER TABLE vms RENAME COLUMN last_seen_ipv6 TO public_ipv6;
|
|
ALTER TABLE vms ADD COLUMN network_name TEXT;
|
|
|
|
UPDATE vms SET network_name = 'virbr1' WHERE public_ipv4 < '69.61.2.192' OR public_ipv4 is NULL;
|
|
UPDATE vms SET network_name = 'virbr2' WHERE public_ipv4 >= '69.61.2.192';
|
|
|
|
ALTER TABLE vms ALTER COLUMN network_name SET NOT NULL;
|
|
|
|
ALTER TABLE vms ADD CONSTRAINT vms_host_network_name_fkey FOREIGN KEY (host, network_name)
|
|
REFERENCES host_network(host, network_name) ON DELETE RESTRICT;
|
|
|
|
|
|
UPDATE schemaversion SET version = 16;
|
|
|