migration 17: network_name -> virtual_bridge_name, add network_name col
This commit is contained in:
parent
aaf33a245b
commit
be54117736
@ -43,7 +43,7 @@ def init_app(app, is_running_server):
|
||||
hasSchemaVersionTable = False
|
||||
actionWasTaken = False
|
||||
schemaVersion = 0
|
||||
desiredSchemaVersion = 16
|
||||
desiredSchemaVersion = 17
|
||||
|
||||
cursor = connection.cursor()
|
||||
|
||||
|
@ -3,12 +3,12 @@ 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,
|
||||
PRIMARY KEY (host, network_name)
|
||||
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', '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;
|
||||
@ -18,7 +18,8 @@ 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 FOREIGN KEY (host, network_name) REFERENCES host_network(host, network_name) ON DELETE RESTRICT;
|
||||
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;
|
||||
|
@ -0,0 +1,18 @@
|
||||
|
||||
|
||||
ALTER TABLE vms DROP CONSTRAINT vms_host_network_name_fkey;
|
||||
|
||||
UPDATE host_network SET network_name = 'virbr1' WHERE virtual_bridge_name = "virbr1";
|
||||
UPDATE host_network SET network_name = 'virbr2' WHERE virtual_bridge_name = "virbr1";
|
||||
UPDATE host_network SET network_name = 'virbr3' WHERE virtual_bridge_name = "virbr2";
|
||||
|
||||
UPDATE vms SET network_name = 'virbr1' WHERE network_name = "public1";
|
||||
UPDATE vms SET network_name = 'virbr2' WHERE network_name = "public2";
|
||||
UPDATE vms SET network_name = 'virbr3' WHERE network_name = "public3";
|
||||
|
||||
ALTER TABLE host_network DROP COLUMN virtual_bridge_name;
|
||||
|
||||
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;
|
@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
ALTER TABLE vms DROP CONSTRAINT vms_host_network_name_fkey;
|
||||
|
||||
ALTER TABLE host_network RENAME COLUMN network_name TO virtual_bridge_name;
|
||||
|
||||
ALTER TABLE host_network ADD COLUMN network_name TEXT;
|
||||
|
||||
UPDATE host_network SET network_name = 'public1' WHERE virtual_bridge_name = 'virbr1';
|
||||
UPDATE host_network SET network_name = 'public2' WHERE virtual_bridge_name = 'virbr2';
|
||||
UPDATE host_network SET network_name = 'public3' WHERE virtual_bridge_name = 'virbr3';
|
||||
|
||||
UPDATE vms SET network_name = 'public1' WHERE network_name = 'virbr1';
|
||||
UPDATE vms SET network_name = 'public2' WHERE network_name = 'virbr2';
|
||||
UPDATE vms SET network_name = 'public3' WHERE network_name = 'virbr3';
|
||||
|
||||
ALTER TABLE host_network ALTER COLUMN network_name SET NOT NULL;
|
||||
|
||||
ALTER TABLE host_network DROP CONSTRAINT host_network_pkey;
|
||||
ALTER TABLE host_network ADD CONSTRAINT host_network_pkey PRIMARY KEY (host, network_name);
|
||||
|
||||
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 = 17;
|
||||
|
Loading…
Reference in New Issue
Block a user