From b7dc5578f826525e5fe5261132c45da574c02765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Risue=C3=B1o?= Date: Wed, 21 Oct 2026 16:22:45 +0200 Subject: [PATCH] Add project columns and index --- .../migrations/008_create_feedback_tables.sql | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/persistence/src/main/resources/db/changelog/migrations/008_create_feedback_tables.sql b/persistence/src/main/resources/db/changelog/migrations/008_create_feedback_tables.sql index dc0268d..9817818 100644 --- a/persistence/src/main/resources/db/changelog/migrations/008_create_feedback_tables.sql +++ b/persistence/src/main/resources/db/changelog/migrations/008_create_feedback_tables.sql @@ -10,6 +10,8 @@ CREATE TABLE IF NOT EXISTS feedback_submissions ( client_id UUID NOT NULL, client_app_registration_id UUID NOT NULL, client_name VARCHAR(255) NOT NULL, + project_id UUID NOT NULL, + project_key VARCHAR(100) NOT NULL, submitter VARCHAR(255), submitted_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), questions JSONB NOT NULL, @@ -18,6 +20,10 @@ CREATE TABLE IF NOT EXISTS feedback_submissions ( FOREIGN KEY (client_id) REFERENCES client_apps (id) ON DELETE RESTRICT, + CONSTRAINT fk_feedback_submissions_project + FOREIGN KEY (project_id) + REFERENCES projects (id) + ON DELETE RESTRICT, CONSTRAINT chk_feedback_submissions_questions_array CHECK (COALESCE(jsonb_typeof(questions) = 'array', FALSE)), CONSTRAINT chk_feedback_submissions_answers_object @@ -30,12 +36,17 @@ CREATE INDEX IF NOT EXISTS idx_feedback_submissions_client_id CREATE INDEX IF NOT EXISTS idx_feedback_submissions_client_app_registration_id ON feedback_submissions (client_app_registration_id); +CREATE INDEX IF NOT EXISTS idx_feedback_submissions_project_key + ON feedback_submissions (project_key); + COMMENT ON TABLE feedback_submissions IS 'Questionnaire submissions with question and answer snapshots'; COMMENT ON COLUMN feedback_submissions.client_app_registration_id IS 'Azure Application registration ID (client_id), captured at submission time'; COMMENT ON COLUMN feedback_submissions.client_name IS 'Denormalized client application name captured at submission time'; +COMMENT ON COLUMN feedback_submissions.project_key + IS 'Denormalized project key captured at submission time'; COMMENT ON COLUMN feedback_submissions.questions IS 'Questionnaire definition shown to the submitter, stored as a JSON array'; COMMENT ON COLUMN feedback_submissions.answers