35 lines
955 B
SQL
35 lines
955 B
SQL
-- 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());
|