fix(db): correct default values for jsonb and array columns
Some checks failed
CI / build-and-test (push) Failing after -31m23s

* Update default values for metadata and messages columns in thoughts and chat_histories tables
* Change tags column type to text[] with default in learnings, plans, agent_skills, and agent_guardrails tables
* Adjust index creation for tags columns in learnings and plans tables
This commit is contained in:
2026-05-03 16:24:16 +02:00
parent 91239bcf4b
commit bae63cb5cf
9 changed files with 393 additions and 265 deletions

View File

@@ -129,7 +129,7 @@ CREATE TABLE IF NOT EXISTS public.thoughts (
created_at timestamptz DEFAULT now(),
guid uuid NOT NULL DEFAULT gen_random_uuid(),
id bigserial NOT NULL,
metadata jsonb DEFAULT '''{}''::jsonb',
metadata jsonb DEFAULT '{}'::jsonb,
project_id bigint,
updated_at timestamptz DEFAULT now()
);
@@ -184,8 +184,8 @@ CREATE TABLE IF NOT EXISTS public.chat_histories (
created_at timestamptz NOT NULL DEFAULT now(),
guid uuid NOT NULL DEFAULT gen_random_uuid(),
id bigserial NOT NULL,
messages jsonb NOT NULL DEFAULT '''[',
metadata jsonb NOT NULL DEFAULT '''{}''',
messages jsonb NOT NULL DEFAULT '[]',
metadata jsonb NOT NULL DEFAULT '{}',
project_id bigint,
session_id text NOT NULL,
summary text,
@@ -222,7 +222,7 @@ CREATE TABLE IF NOT EXISTS public.learnings (
status text NOT NULL DEFAULT 'pending',
summary text NOT NULL,
supersedes_learning_id bigint,
tags text,
tags text[] NOT NULL DEFAULT '{}',
updated_at timestamptz NOT NULL DEFAULT now()
);
@@ -240,7 +240,7 @@ CREATE TABLE IF NOT EXISTS public.plans (
reviewed_by text,
status text NOT NULL DEFAULT 'draft',
supersedes_plan_id bigint,
tags text,
tags text[] NOT NULL DEFAULT '{}',
title text NOT NULL,
updated_at timestamptz NOT NULL DEFAULT now()
);
@@ -280,7 +280,7 @@ CREATE TABLE IF NOT EXISTS public.agent_skills (
guid uuid NOT NULL DEFAULT gen_random_uuid(),
id bigserial NOT NULL,
name text NOT NULL,
tags text,
tags text[] NOT NULL DEFAULT '{}',
updated_at timestamptz NOT NULL DEFAULT now()
);
@@ -292,7 +292,7 @@ CREATE TABLE IF NOT EXISTS public.agent_guardrails (
id bigserial NOT NULL,
name text NOT NULL,
severity text NOT NULL DEFAULT 'medium',
tags text,
tags text[] NOT NULL DEFAULT '{}',
updated_at timestamptz NOT NULL DEFAULT now()
);
@@ -384,7 +384,7 @@ BEGIN
AND table_name = 'thoughts'
AND column_name = 'metadata'
) THEN
ALTER TABLE public.thoughts ADD COLUMN metadata jsonb DEFAULT '''{}''::jsonb';
ALTER TABLE public.thoughts ADD COLUMN metadata jsonb DEFAULT '{}'::jsonb;
END IF;
END;
$$;
@@ -904,7 +904,7 @@ BEGIN
AND table_name = 'chat_histories'
AND column_name = 'messages'
) THEN
ALTER TABLE public.chat_histories ADD COLUMN messages jsonb NOT NULL DEFAULT '''[';
ALTER TABLE public.chat_histories ADD COLUMN messages jsonb NOT NULL DEFAULT '[]';
END IF;
END;
$$;
@@ -917,7 +917,7 @@ BEGIN
AND table_name = 'chat_histories'
AND column_name = 'metadata'
) THEN
ALTER TABLE public.chat_histories ADD COLUMN metadata jsonb NOT NULL DEFAULT '''{}''';
ALTER TABLE public.chat_histories ADD COLUMN metadata jsonb NOT NULL DEFAULT '{}';
END IF;
END;
$$;
@@ -1320,7 +1320,7 @@ BEGIN
AND table_name = 'learnings'
AND column_name = 'tags'
) THEN
ALTER TABLE public.learnings ADD COLUMN tags text;
ALTER TABLE public.learnings ADD COLUMN tags text[] NOT NULL DEFAULT '{}';
END IF;
END;
$$;
@@ -1515,7 +1515,7 @@ BEGIN
AND table_name = 'plans'
AND column_name = 'tags'
) THEN
ALTER TABLE public.plans ADD COLUMN tags text;
ALTER TABLE public.plans ADD COLUMN tags text[] NOT NULL DEFAULT '{}';
END IF;
END;
$$;
@@ -1840,7 +1840,7 @@ BEGIN
AND table_name = 'agent_skills'
AND column_name = 'tags'
) THEN
ALTER TABLE public.agent_skills ADD COLUMN tags text;
ALTER TABLE public.agent_skills ADD COLUMN tags text[] NOT NULL DEFAULT '{}';
END IF;
END;
$$;
@@ -1957,7 +1957,7 @@ BEGIN
AND table_name = 'agent_guardrails'
AND column_name = 'tags'
) THEN
ALTER TABLE public.agent_guardrails ADD COLUMN tags text;
ALTER TABLE public.agent_guardrails ADD COLUMN tags text[] NOT NULL DEFAULT '{}';
END IF;
END;
$$;
@@ -2570,10 +2570,10 @@ CREATE INDEX IF NOT EXISTS idx_learnings_summary
ON public.learnings USING gin (summary gin_trgm_ops);
CREATE INDEX IF NOT EXISTS idx_learnings_tags
ON public.learnings USING gin (tags gin_trgm_ops);
ON public.learnings USING gin (tags);
CREATE INDEX IF NOT EXISTS idx_plans_tags
ON public.plans USING gin (tags gin_trgm_ops);
ON public.plans USING gin (tags);
CREATE INDEX IF NOT EXISTS idx_plans_title
ON public.plans USING gin (title gin_trgm_ops);