icingaweb2-module-director/schema/pgsql-migrations/upgrade_123.sql
Eric Lippmann b6af283732 License source files as GPL-3.0-or-later
Add SPDX license headers and mark source files as GPL-3.0-or-later to
preserve the option to relicense under later GPL versions.
2026-03-24 11:30:06 +01:00

37 lines
1 KiB
SQL

-- SPDX-FileCopyrightText: 2018 Icinga GmbH <https://icinga.com>
-- SPDX-License-Identifier: GPL-3.0-or-later
-- 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());