first draft for ilinks : typed and valued links between interfaces
[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 ALTER TABLE nodenetwork_setting_types RENAME TO interface_setting_types;
16 ALTER TABLE interface_setting_types RENAME COLUMN nodenetwork_setting_type_id TO interface_setting_type_id;
17
18 ALTER TABLE nodenetwork_setting RENAME TO interface_setting;
19
20 -- views
21 ALTER TABLE nodenetworks_ordered RENAME TO interfaces_ordered;
22 ALTER TABLE interfaces_ordered RENAME COLUMN nodenetwork_id TO interface_id;
23
24 ALTER TABLE node_nodenetworks RENAME TO node_interfaces;
25 ALTER TABLE node_interfaces RENAME COLUMN nodenetwork_ids TO interface_ids;
26
27 ALTER TABLE nodenetwork_settings RENAME TO interface_settings;
28 ALTER TABLE interface_settings RENAME COLUMN nodenetwork_id TO interface_id;
29 ALTER TABLE interface_settings RENAME COLUMN nodenetwork_setting_ids TO interface_setting_ids;
30
31 ALTER TABLE view_nodenetwork_settings RENAME TO view_interface_settings;
32 ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_setting_id TO interface_setting_id;
33 ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_id TO interface_id;
34 ALTER TABLE view_interface_settings RENAME COLUMN nodenetwork_setting_type_id TO interface_setting_type_id;
35
36 ALTER TABLE view_nodenetworks RENAME TO view_interfaces;
37 ALTER TABLE view_interfaces RENAME COLUMN nodenetwork_id TO interface_id;
38 ALTER TABLE view_interfaces RENAME COLUMN nodenetwork_setting_ids TO interface_setting_ids;
39
40 ALTER TABLE view_nodes RENAME COLUMN nodenetwork_ids TO interface_ids;
41
42 ----------------------------------------
43 -- node tags
44 ----------------------------------------
45 CREATE TABLE node_tag_types ...
46 CREATE TABLE node_tag ...
47
48 ---------- related views
49 CREATE OR REPLACE VIEW node_tags AS ...
50 CREATE OR REPLACE VIEW view_node_tags AS ... 
51
52 ----------------------------------------
53 -- nodegroups
54 -- xxx - todo 
55 -- a more usable migration script would need to capture more data
56 ----------------------------------------
57 DROP TABLE IF EXISTS nodegroups CASCADE;
58
59 -- Node groups
60 CREATE TABLE nodegroups ... 
61 CREATE OR REPLACE VIEW nodegroup_node AS ...
62 CREATE OR REPLACE VIEW nodegroup_nodes AS ...
63 CREATE OR REPLACE VIEW node_nodegroups AS ...
64 CREATE OR REPLACE VIEW view_nodegroups AS
65
66 ----------------------------------------
67 -- the nodes view
68 ----------------------------------------
69 DROP VIEW view_nodes;
70 CREATE OR REPLACE VIEW view_nodes AS ...
71
72 ----------------------------------------
73 -- ilinks
74 ----------------------------------------
75 CREATE TABLE ilink_types ...
76 CREATE TABLE ilink ...
77
78 CREATE OR REPLACE VIEW ilinks AS ...
79 CREATE OR REPLACE VIEW ilink_src_node AS ...
80 CREATE OR REPLACE VIEW ilink_nodes AS ...
81
82 ----------------------------------------
83 -- update versioning
84 ----------------------------------------
85 UPDATE plc_db_version SET version=5, subversion=0;