mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-27 07:16:19 +09:00
fix: use EXECUTE for dynamic SQL in migrations referencing old schema
PL/pgSQL pre-validates column/table references in static SQL statements inside DO blocks before evaluating IF/RETURN guards. This caused migrations 0010-0061 to fail on fresh databases where the canonical schema uses `providers`/`provider_id` instead of `llm_providers`/ `llm_provider_id`. Wrap all SQL that references potentially non-existent old schema objects (llm_providers, llm_provider_id, tts_providers, tts_models, etc.) in EXECUTE strings so they are only parsed at runtime when actually reached.
This commit is contained in:
@@ -5,6 +5,6 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'llm_providers') THEN
|
||||
ALTER TABLE llm_providers ADD COLUMN IF NOT EXISTS enable BOOLEAN NOT NULL DEFAULT true;
|
||||
EXECUTE 'ALTER TABLE llm_providers ADD COLUMN IF NOT EXISTS enable BOOLEAN NOT NULL DEFAULT true';
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
Reference in New Issue
Block a user