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