63 lines
5.6 KiB
SQL
Executable File
63 lines
5.6 KiB
SQL
Executable File
|
|
-- update cascade
|
|
|
|
SET SEARCH_PATH TO ism;
|
|
|
|
-- Drop tables/views/sequences/constraints
|
|
ALTER TABLE IF EXISTS ism_asset DROP CONSTRAINT IF EXISTS FK_ism_asset_mounting_point_type_id_ism_mounting_point_type_id CASCADE;
|
|
ALTER TABLE IF EXISTS ism_asset DROP CONSTRAINT IF EXISTS FK_ism_asset_asset_state_id_ism_asset_state_id CASCADE;
|
|
ALTER TABLE IF EXISTS ism_mounting_point_asset DROP CONSTRAINT IF EXISTS FK_ism_mounting_point_asset_asset_id_ism_asset_id CASCADE;
|
|
ALTER TABLE IF EXISTS ism_mounting_point_asset DROP CONSTRAINT IF EXISTS FK_ism_mounting_point_asset_structure_element_id_ism_structure_ CASCADE;
|
|
ALTER TABLE IF EXISTS ism_mounting_point_plan DROP CONSTRAINT IF EXISTS FK_ism_mounting_point_plan_structure_element_id_ism_structure_e CASCADE;
|
|
ALTER TABLE IF EXISTS ism_mounting_point_plan DROP CONSTRAINT IF EXISTS FK_ism_mounting_point_plan_mounting_point_schedule_id_ism_mount CASCADE;
|
|
ALTER TABLE IF EXISTS ism_mounting_point_schedule DROP CONSTRAINT IF EXISTS FK_ism_mounting_point_schedule_exercise_id_exercise_id CASCADE;
|
|
ALTER TABLE IF EXISTS ism_structure_element DROP CONSTRAINT IF EXISTS FK_ism_structure_element_structure_element_type_id_ism_structur CASCADE;
|
|
ALTER TABLE IF EXISTS ism_structure_element DROP CONSTRAINT IF EXISTS FK_ism_structure_element_mounting_point_type_id_ism_mounting_po CASCADE;
|
|
ALTER TABLE IF EXISTS ism_structure_element DROP CONSTRAINT IF EXISTS FK_ism_structure_element_main_structure_element_id_ism_main_str CASCADE;
|
|
ALTER TABLE IF EXISTS ism_structure_element_footprint DROP CONSTRAINT IF EXISTS FK_ism_structure_element_footprint_structure_element_id_ism_str CASCADE;
|
|
|
|
-- Create foreign keys
|
|
ALTER TABLE ism_asset ADD CONSTRAINT FK_ism_asset_mounting_point_type_id_ism_mounting_point_type_id FOREIGN KEY (mounting_point_type_id) REFERENCES ism_mounting_point_type (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_asset ADD CONSTRAINT FK_ism_asset_asset_state_id_ism_asset_state_id FOREIGN KEY (asset_state_id) REFERENCES ism_asset_state (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_mounting_point_asset ADD CONSTRAINT FK_ism_mounting_point_asset_asset_id_ism_asset_id FOREIGN KEY (asset_id) REFERENCES ism_asset (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_mounting_point_asset ADD CONSTRAINT FK_ism_mounting_point_asset_structure_element_id_ism_structure_ FOREIGN KEY (structure_element_id) REFERENCES ism_structure_element (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_mounting_point_plan ADD CONSTRAINT FK_ism_mounting_point_plan_structure_element_id_ism_structure_e FOREIGN KEY (structure_element_id) REFERENCES ism_structure_element (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_mounting_point_plan ADD CONSTRAINT FK_ism_mounting_point_plan_mounting_point_schedule_id_ism_mount FOREIGN KEY (mounting_point_schedule_id) REFERENCES ism_mounting_point_schedule (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_mounting_point_schedule ADD CONSTRAINT FK_ism_mounting_point_schedule_exercise_id_exercise_id FOREIGN KEY (exercise_id) REFERENCES exm.exercise (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_structure_element ADD CONSTRAINT FK_ism_structure_element_structure_element_type_id_ism_structur FOREIGN KEY (structure_element_type_id) REFERENCES ism_structure_element_type (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_structure_element ADD CONSTRAINT FK_ism_structure_element_mounting_point_type_id_ism_mounting_po FOREIGN KEY (mounting_point_type_id) REFERENCES ism_mounting_point_type (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_structure_element ADD CONSTRAINT FK_ism_structure_element_main_structure_element_id_ism_main_str FOREIGN KEY (main_structure_element_id) REFERENCES ism_main_structure_element (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE ism_structure_element_footprint ADD CONSTRAINT FK_ism_structure_element_footprint_structure_element_id_ism_str FOREIGN KEY (structure_element_id) REFERENCES ism_structure_element (id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
|
|
-- update ids
|
|
UPDATE ism.ism_structure_element SET id = id + 60000;
|
|
UPDATE ism.ism_asset SET id = id + 3000;
|
|
UPDATE ism.ism_mounting_point_asset SET id = id + 3000;
|
|
UPDATE ism.ism_mounting_point_plan SET id = id + 40000;
|
|
UPDATE ism.ism_structure_element_footprint SET id = id + 4000;
|
|
|
|
-- delete unnecessary buildings and assets
|
|
DELETE FROM ism.ism_asset where id IN (SELECT asset_id FROM ism.ism_mounting_point_asset WHERE structure_element_id IN (SELECT id FROM ism.ism_structure_element WHERE main_structure_element_id < 300));
|
|
DELETE FROM ism.ism_main_structure_element WHERE id < 300;
|
|
|
|
-- pg_dump Salchau
|
|
pg_dump salchau -t ism.ism_main_structure_element -t ism.ism_structure_element -t ism.ism_asset -t ism.ism_mounting_point_asset -t ism.ism_mounting_point_plan -t ism.ism_structure_element_footprint --column-inserts --data-only > salchau.sql
|
|
|
|
-- delete old Salchau Gebaude und assets (Guez dump)
|
|
DELETE FROM ism.ism_asset where id IN (SELECT asset_id FROM ism.ism_mounting_point_asset WHERE structure_element_id IN (SELECT id FROM ism.ism_structure_element WHERE main_structure_element_id IN (724, 725, 726, 1121)));
|
|
DELETE FROM ism.ism_main_structure_element WHERE ID in (724, 725, 726, 1121);
|
|
|
|
-- re-import salchau buildings
|
|
psql guez -f salchau.sql
|
|
|
|
-- update sequences
|
|
ALTER SEQUENCE ism.ism_structure_element_id_seq RESTART WITH 62000;
|
|
ALTER SEQUENCE ism.ism_asset_id_seq RESTART WITH 5100;
|
|
ALTER SEQUENCE ism.ism_mounting_point_asset_id_seq RESTART WITH 3100;
|
|
ALTER SEQUENCE ism.ism_mounting_point_plan_id_seq RESTART WITH 41000;
|
|
ALTER SEQUENCE ism.ism_structure_element_footprint_id_seq RESTART WITH 4200;
|
|
|
|
ALTER SEQUENCE ism.ism_main_structure_element_id_seq RESTART WITH 20001;
|
|
|