mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-03-26 02:21:06 -04:00
45 lines
1.5 KiB
PL/PgSQL
45 lines
1.5 KiB
PL/PgSQL
CREATE TABLE IF NOT EXISTS compatibility_prompts_translations
|
|
(
|
|
question_id BIGINT NOT NULL,
|
|
locale TEXT NOT NULL,
|
|
multiple_choice_options JSONB,
|
|
question TEXT NOT NULL,
|
|
updated_at TIMESTAMPTZ DEFAULT now() NOT NULL,
|
|
PRIMARY KEY (question_id, locale),
|
|
CONSTRAINT fk_question
|
|
FOREIGN KEY (question_id)
|
|
REFERENCES compatibility_prompts (id)
|
|
ON DELETE CASCADE
|
|
);
|
|
|
|
-- Add triggers for updated_at
|
|
CREATE OR REPLACE FUNCTION update_updated_at_column()
|
|
RETURNS TRIGGER AS
|
|
$$
|
|
BEGIN
|
|
NEW.updated_at = now();
|
|
RETURN NEW;
|
|
END;
|
|
$$ language 'plpgsql';
|
|
|
|
CREATE TRIGGER update_compatibility_prompts_translations_updated_at
|
|
BEFORE UPDATE
|
|
ON compatibility_prompts_translations
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION update_updated_at_column();
|
|
|
|
-- Add RLS policies
|
|
ALTER TABLE compatibility_prompts_translations
|
|
ENABLE ROW LEVEL SECURITY;
|
|
|
|
-- Public read access
|
|
CREATE POLICY "public read"
|
|
ON compatibility_prompts_translations
|
|
FOR SELECT
|
|
USING (true);
|
|
|
|
-- Indexes for better performance
|
|
CREATE INDEX IF NOT EXISTS idx_compatibility_prompts_translations_locale ON compatibility_prompts_translations (locale);
|
|
CREATE INDEX IF NOT EXISTS idx_compatibility_prompts_translations_question_id ON compatibility_prompts_translations (question_id);
|
|
CREATE INDEX IF NOT EXISTS idx_cpt_locale ON compatibility_prompts_translations (question_id, locale);
|