-- 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;