liquid_feedback_frontend

diff db/survey.sql @ 1735:5a8a09119865

Added survey feature
author bsw
date Fri Oct 08 00:09:23 2021 +0200 (2021-10-08)
parents
children c7dbb36ce1e0
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/db/survey.sql	Fri Oct 08 00:09:23 2021 +0200
     1.3 @@ -0,0 +1,57 @@
     1.4 +CREATE TABLE survey (
     1.5 +  id SERIAL4 PRIMARY KEY,
     1.6 +  title TEXT NOT NULL,
     1.7 +  text TEXT NOT NULL,
     1.8 +  finished_text TEXT NOT NULL,
     1.9 +  created TIMESTAMPTZ NOT NULL DEFAULT now(),
    1.10 +  open_from TIMESTAMPTZ NOT NULL,
    1.11 +  open_until TIMESTAMPTZ NOT NULL
    1.12 +);
    1.13 +
    1.14 +CREATE TABLE survey_question (
    1.15 +  id SERIAL4 PRIMARY KEY,
    1.16 +  survey_id INT4 NOT NULL REFERENCES survey(id),
    1.17 +  position INT4 NOT NULL,
    1.18 +  question TEXT NOT NULL,
    1.19 +  description TEXT,
    1.20 +  answer_type TEXT NOT NULL,
    1.21 +  answer_options json
    1.22 +);
    1.23 +
    1.24 +CREATE TABLE survey_answer_set (
    1.25 +  ident TEXT NOT NULL PRIMARY KEY,
    1.26 +  survey_id INT4 NOT NULL REFERENCES survey(id)
    1.27 +);
    1.28 +
    1.29 +CREATE TABLE survey_answer (
    1.30 +  id SERIAL8 PRIMARY KEY,
    1.31 +  survey_answer_set_ident TEXT NOT NULL REFERENCES survey_answer_set(ident) ON DELETE CASCADE,
    1.32 +  survey_question_id INT4 NOT NULL REFERENCES survey_question(id),
    1.33 +  answer TEXT NOT NULL
    1.34 +);
    1.35 +
    1.36 +CREATE TABLE survey_member (
    1.37 +  id SERIAL4 PRIMARY KEY,
    1.38 +  survey_id INT4 NOT NULL REFERENCES survey(id),
    1.39 +  member_id INT4 NOT NULL REFERENCES member(id),
    1.40 +  survey_answer_set_ident TEXT REFERENCES survey_answer_set(ident),
    1.41 +  started TIMESTAMPTZ DEFAULT now(),
    1.42 +  finished TIMESTAMPTZ,
    1.43 +  rejected TIMESTAMPTZ
    1.44 +);
    1.45 +
    1.46 +INSERT INTO survey (id, title, text, finished_text, open_from, open_until) VALUES (
    1.47 +  1,
    1.48 +  'Example survey',
    1.49 +  'This is just an example',
    1.50 +  '<strong>Done!</strong><br>You finished it. Thank you very much.',
    1.51 +  '2021-10-06 12:00',
    1.52 +  '2021-10-14 12:00'
    1.53 +);
    1.54 +
    1.55 +INSERT INTO survey_question (survey_id, position, question, answer_type, answer_options) VALUES
    1.56 +  (1, 1, 'What color do you like?', 'radio', '[ "Red", "Green", "Blue" ]'),
    1.57 +  (1, 2, 'What form do you like?', 'radio', '[ "Square", "Circle", "Hexagon" ]')
    1.58 +;
    1.59 +
    1.60 +  

Impressum / About Us