mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-18 05:52:51 +00:00
Prevent failure in setup step 69 if cache.objects does not exist (#11673)
# Which Problems Are Solved If the `cache.objects`-table does not exist setup failes with the following error: `ERROR: relation "cache.objects" does not exist at character 44` # How the Problems Are Solved Changed statement to prevent immediately throw an error if the table is missing. # Additional Context - reported in https://discord.com/channels/927474939156643850/1473769282880934089 - backport to v4
This commit is contained in:
+16
-20
@@ -1,22 +1,14 @@
|
|||||||
DO
|
DO
|
||||||
$do$
|
$do$
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Convert objects to logged first (if unlogged)
|
-- Convert objects to logged first (if unlogged)
|
||||||
IF EXISTS (SELECT 1 FROM pg_class WHERE oid = 'cache.objects'::REGCLASS AND relpersistence = 'u') THEN
|
IF EXISTS (SELECT 1 FROM pg_class WHERE oid = to_regclass('cache.objects') AND relpersistence = 'u') THEN
|
||||||
ALTER TABLE IF EXISTS cache.objects
|
ALTER TABLE IF EXISTS cache.objects SET LOGGED;
|
||||||
SET LOGGED;
|
END IF;
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- Convert string_keys to logged (if unlogged)
|
-- Convert string_keys to logged (if unlogged)
|
||||||
-- Drop the FK constraint first to allow converting cache.string_keys (and avoid loggedness-change restrictions involving the FK)
|
-- Drop the FK constraint first to avoid conflict with parent table conversion
|
||||||
IF EXISTS (SELECT 1 FROM pg_class WHERE oid = to_regclass('cache.objects') AND relpersistence = 'u') THEN
|
IF EXISTS (SELECT 1 FROM pg_class WHERE oid = to_regclass('cache.string_keys') AND relpersistence = 'u') THEN
|
||||||
ALTER TABLE IF EXISTS cache.objects
|
|
||||||
SET LOGGED;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- Convert string_keys to logged (if unlogged)
|
|
||||||
-- Drop the FK constraint first to avoid conflict with parent table conversion
|
|
||||||
IF EXISTS (SELECT 1 FROM pg_class WHERE oid = to_regclass('cache.string_keys') AND relpersistence = 'u') THEN
|
|
||||||
ALTER TABLE IF EXISTS cache.string_keys
|
ALTER TABLE IF EXISTS cache.string_keys
|
||||||
DROP CONSTRAINT IF EXISTS fk_object;
|
DROP CONSTRAINT IF EXISTS fk_object;
|
||||||
ALTER TABLE IF EXISTS cache.string_keys
|
ALTER TABLE IF EXISTS cache.string_keys
|
||||||
@@ -26,12 +18,16 @@ BEGIN
|
|||||||
FOREIGN KEY(cache_name, object_id)
|
FOREIGN KEY(cache_name, object_id)
|
||||||
REFERENCES cache.objects(cache_name, id)
|
REFERENCES cache.objects(cache_name, id)
|
||||||
ON DELETE CASCADE;
|
ON DELETE CASCADE;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CREATE UNLOGGED TABLE IF NOT EXISTS cache.objects_default
|
IF to_regclass('cache.objects') IS NOT NULL THEN
|
||||||
PARTITION OF cache.objects DEFAULT;
|
CREATE UNLOGGED TABLE IF NOT EXISTS cache.objects_default
|
||||||
|
PARTITION OF cache.objects DEFAULT;
|
||||||
|
END IF;
|
||||||
|
|
||||||
CREATE UNLOGGED TABLE IF NOT EXISTS cache.string_keys_default
|
IF to_regclass('cache.string_keys') IS NOT NULL THEN
|
||||||
PARTITION OF cache.string_keys DEFAULT;
|
CREATE UNLOGGED TABLE IF NOT EXISTS cache.string_keys_default
|
||||||
|
PARTITION OF cache.string_keys DEFAULT;
|
||||||
|
END IF;
|
||||||
END
|
END
|
||||||
$do$
|
$do$
|
||||||
|
|||||||
Reference in New Issue
Block a user