From 878a57146eb79507ce82368a466f4a72b1da35bf Mon Sep 17 00:00:00 2001 From: Ossi Laine <ossi.laine@utu.fi> Date: Mon, 29 Jul 2019 15:32:17 +0300 Subject: [PATCH] Update README to include database initialization --- README.md | 7 +++++++ create_rating_db.sql | 27 +++++++++++++-------------- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 8518628..ce12dcf 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,13 @@ source venv/bin/activate pip install -r requirements.txt ``` +Create user 'rating' and grant access to database 'rating_db'. + +Create necessary tables by running the initialization script: +``` + mysql -u rating -p -D rating_db < create_rating_db.sql +``` + ### Deployment There are multiple deployment options, but one working solution is: diff --git a/create_rating_db.sql b/create_rating_db.sql index 9878fe6..e63e75c 100644 --- a/create_rating_db.sql +++ b/create_rating_db.sql @@ -95,7 +95,6 @@ CREATE TABLE user ( password_hash VARCHAR(128), PRIMARY KEY (id) ); -INSERT INTO user VALUES(1,'Yngwie',NULL,'pbkdf2:sha256:50000$QioS5ICE$17a468394e72aef1243576aa80d29c296c6482ada48be9d25bd7c3b6e8129b40'); /* By using forced ID login subjects can only participate to a rating task by logging in with a pregenerated ID */ CREATE TABLE forced_id ( @@ -160,13 +159,23 @@ CREATE INDEX ix_page_type ON page (type); /* New fields for updating embody tool to onni.utu.fi */ +/* Embody picture/question information */ +CREATE TABLE embody_question ( + idembody INTEGER NOT NULL AUTO_INCREMENT, + experiment_idexperiment INTEGER, + picture TEXT, + question TEXT, + PRIMARY KEY (idembody), + FOREIGN KEY(experiment_idexperiment) REFERENCES experiment (idexperiment) +); + /* Embody answer (coordinates). Answer is saved as a json object: {x:[1,2,100,..], y:[3,4,101,..], r:[13,13,8,...]} */ CREATE TABLE embody_answer ( idanswer INTEGER NOT NULL AUTO_INCREMENT, answer_set_idanswer_set INTEGER, page_idpage INTEGER, - embody_question_idembody INTEGER, + embody_question_idembody INTEGER DEFAULT 0, coordinates TEXT, PRIMARY KEY (idanswer), FOREIGN KEY(answer_set_idanswer_set) REFERENCES answer_set (idanswer_set), @@ -174,21 +183,11 @@ CREATE TABLE embody_answer ( FOREIGN KEY(embody_question_idembody) REFERENCES embody_question (idembody) ); -/* Embody picture/question information */ -CREATE TABLE embody_question ( - idembody INTEGER NOT NULL AUTO_INCREMENT, - experiment_idexperiment INTEGER, - picture TEXT, - question TEXT, - PRIMARY KEY (idembody), - FOREIGN KEY(experiment_idexperiment) REFERENCES experiment (idexperiment) -); - -ALTER TABLE embody_answer ADD COLUMN (embody_question_idembody INTEGER DEFAULT 0); -ALTER TABLE embody_answer ADD CONSTRAINT FOREIGN KEY (embody_question_idembody) REFERENCES embody_question (idembody); /* Set flag if embody tool is enabled -> this is not the most modular solution, but works for now */ ALTER TABLE experiment ADD COLUMN (embody_enabled BOOLEAN DEFAULT 0); /* Set current answer type (embody/slider/etc..) so returning users are routed to correct question */ ALTER TABLE answer_set ADD COLUMN (answer_type VARCHAR(120)); + +INSERT INTO user VALUES(1,'admin',NULL,'pbkdf2:sha256:50000$6Cc6Mjmo$3fe413a88db1bacfc4d617f7c1547bd1ea4cbd6c5d675a58e78332201f6befc6'); \ No newline at end of file -- GitLab