31027b2515bc45855d390ac3362bba0f8d547af3
[plcapi.git] / migrations / migrate-v4-to-v5.sql
1 -- $Id$
2 --
3 -- this is the script to migrate from 4.2 to 5.0
4 --
5
6 ----------------------------------------
7 -- rename nodenetwork into interface
8 ----------------------------------------
9
10 ALTER TABLE nodenetworks RENAME TO interfaces;
11 ALTER TABLE interfaces RENAME COLUMN nodenetwork_id TO interface_id;
12
13 ALTER INDEX nodenetworks_node_id_idx RENAME TO interfaces_node_id_idx;
14
15 -- xxx need manual merge -> turn into tag_type
16 --ALTER TABLE nodenetwork_setting_types RENAME TO interface_setting_types;
17 --ALTER TABLE interface_setting_types RENAME COLUMN nodenetwork_setting_type_id TO interface_setting_type_id;
18
19 ALTER TABLE nodenetwork_setting RENAME TO interface_setting;
20
21 -- views
22 ALTER TABLE nodenetworks_ordered RENAME TO interfaces_ordered;
23 ALTER TABLE interfaces_ordered RENAME COLUMN nodenetwork_id TO interface_id;
24
25 ALTER TABLE node_nodenetworks RENAME TO node_interfaces;
26 ALTER TABLE node_interfaces RENAME COLUMN nodenetwork_ids TO interface_ids;
27
28 ALTER TABLE nodenetwork_settings RENAME TO interface_settings;
29 ALTER TABLE interface_settings RENAME COLUMN nodenetwork_id TO interface_id;
30 ALTER TABLE interface_settings RENAME COLUMN nodenetwork_setting_ids TO interface_setting_ids;
31
32 ALTER TABLE view_nodenetwork_settings RENAME TO view_interface_settings;
33 ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_setting_id TO interface_setting_id;
34 ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_id TO interface_id;
35 -- xxx need manual merge -> turn into tag_type
36 --ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_setting_type_id TO interface_setting_type_id;
37
38 ALTER TABLE view_nodenetworks RENAME TO view_interfaces;
39 ALTER TABLE view_interfaces RENAME COLUMN nodenetwork_id TO interface_id;
40 ALTER TABLE view_interfaces RENAME COLUMN nodenetwork_setting_ids TO interface_setting_ids;
41
42 ALTER TABLE view_nodes RENAME COLUMN nodenetwork_ids TO interface_ids;
43
44 ----------------------------------------
45 -- node tags
46 ----------------------------------------
47 CREATE TABLE tag_types ...
48 CREATE TABLE node_tag ...
49
50 ---------- related views
51 CREATE OR REPLACE VIEW node_tags AS ...
52 CREATE OR REPLACE VIEW view_node_tags AS ... 
53
54 ----------------------------------------
55 -- nodegroups
56 -- xxx - todo 
57 -- a more usable migration script would need to capture more data
58 ----------------------------------------
59 DROP TABLE IF EXISTS nodegroups CASCADE;
60
61 -- Node groups
62 CREATE TABLE nodegroups ... 
63 CREATE OR REPLACE VIEW nodegroup_node AS ...
64 CREATE OR REPLACE VIEW nodegroup_nodes AS ...
65 CREATE OR REPLACE VIEW node_nodegroups AS ...
66 CREATE OR REPLACE VIEW view_nodegroups AS
67
68 ----------------------------------------
69 -- the nodes view
70 ----------------------------------------
71 DROP VIEW view_nodes;
72 CREATE OR REPLACE VIEW view_nodes AS ...
73
74 ----------------------------------------
75 -- ilinks
76 ----------------------------------------
77 --CREATE TABLE link_types ...
78 CREATE TABLE ilink ...
79
80 CREATE OR REPLACE VIEW ilinks AS ...
81 CREATE OR REPLACE VIEW ilink_src_node AS ...
82 CREATE OR REPLACE VIEW ilink_nodes AS ...
83
84 ----------------------------------------
85 -- update versioning
86 ----------------------------------------
87 UPDATE plc_db_version SET version=5, subversion=0;