summaryrefslogtreecommitdiffstats
path: root/schema/pgsql-migrations/upgrade_123.sql
blob: bc9785473a72cdc4999c9f090401f6650aacdd33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-- cleanup dangling service_set before we add foreign key
DELETE FROM icinga_service_set AS ss
  WHERE NOT EXISTS (
      SELECT 1 FROM icinga_host AS h
      WHERE h.id = ss.host_id
  )
  AND object_type = 'object'
  AND host_id IS NOT NULL;

-- cleanup dangling services to service_set
DELETE FROM icinga_service AS s
  WHERE NOT EXISTS (
    SELECT 1 FROM icinga_service_set AS ss
    WHERE ss.id = s.service_set_id
  )
  AND object_type IN ('object', 'apply')
  AND service_set_id IS NOT NULL;


ALTER TABLE icinga_service_set
  ADD CONSTRAINT icinga_service_set_host FOREIGN KEY (host_id)
    REFERENCES icinga_host (id)
    ON DELETE RESTRICT
    ON UPDATE CASCADE;

ALTER TABLE icinga_service
  ADD CONSTRAINT icinga_service_service_set FOREIGN KEY (service_set_id)
    REFERENCES icinga_service_set (id)
    ON DELETE RESTRICT
    ON UPDATE CASCADE;

INSERT INTO director_schema_migration
  (schema_version, migration_time)
  VALUES (123, NOW());