diff --git a/db_assets/sql_scripts/init.sql b/db_assets/sql_scripts/init.sql index 0eb9422..3dbbd63 100644 --- a/db_assets/sql_scripts/init.sql +++ b/db_assets/sql_scripts/init.sql @@ -1,5 +1,3 @@ --- Общая рекомендация - расписать use-case'ы - CREATE SCHEMA `up_and_down` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; CREATE TABLE `up_and_down`.`users` ( @@ -101,89 +99,4 @@ CREATE TABLE `up_and_down`.`treatment_schemes` ( PRIMARY KEY (`user_treatment_schemes_uuid`, `medication_uuid`), FOREIGN KEY (`user_treatment_schemes_uuid`) REFERENCES `user_treatment_schemes`(`uuid`), FOREIGN KEY (`medication_uuid`) REFERENCES `medications`(`uuid`) -); - --- insert constants -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (1, 'Полное отсутствие мании'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (2, 'Слегка приподнятое настроение'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (3, 'Хорошее настроение'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (4, 'Очень хорошее настроение, но в рамках разумного'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (5, 'Гипомания I, характерная для циклотимии - приятная эйфория, повышенная активность'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (6, 'Гипомания II, характерная для БАР II - все, что в предыдущем пункте + белеет в глазах'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (7, 'Мания I - периодический не сильный отрыв от реальности'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (8, 'Мания II - сопровождается бредом и галлюцинациями - неадекватная речь'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (9, 'Мания III - сопровождается бредом и галлюцинациями - неадекватное поведение'); -INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (10, 'Мания IV - сопровождается бредом и галлюцинациями - человек опасен для себя и других'); - -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (1, 'Депрессия I'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (2, 'Депрессия II'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (3, 'Депрессия III'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (4, 'Депрессия IV'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (5, 'Депрессия V'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (6, 'Депрессия VI'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (7, 'Депрессия VII'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (8, 'Депрессия VIII'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (9, 'Депрессия IX'); -INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (10, 'Депрессия X'); - -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (1, 'Настроение I'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (2, 'Настроение II'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (3, 'Настроение III'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (4, 'Настроение IV'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (5, 'Настроение V'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (6, 'Настроение VI'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (7, 'Настроение VII'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (8, 'Настроение VIII'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (9, 'Настроение IX'); -INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (10, 'Настроение X'); - -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (1, 'Активность I'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (2, 'Активность II'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (3, 'Активность III'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (4, 'Активность IV'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (5, 'Активность V'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (6, 'Активность VI'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (7, 'Активность VII'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (8, 'Активность VIII'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (9, 'Активность IX'); -INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (10, 'Активность X'); - -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (1, 'Аппетит I'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (2, 'Аппетит II'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (3, 'Аппетит III'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (4, 'Аппетит IV'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (5, 'Аппетит V'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (6, 'Аппетит VI'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (7, 'Аппетит VII'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (8, 'Аппетит VIII'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (9, 'Аппетит IX'); -INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (10, 'Аппетит X'); - -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (1, 'Сон I'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (2, 'Сон II'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (3, 'Сон III'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (4, 'Сон IV'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (5, 'Сон V'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (6, 'Сон VI'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (7, 'Сон VII'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (8, 'Сон VIII'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (9, 'Сон IX'); -INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (10, 'Сон X'); - -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (1, 'Тревога I'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (2, 'Тревога II'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (3, 'Тревога III'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (4, 'Тревога IV'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (5, 'Тревога V'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (6, 'Тревога VI'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (7, 'Тревога VII'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (8, 'Тревога VIII'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (9, 'Тревога IX'); -INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (10, 'Тревога X'); - --- Заполнение пользователями -INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('ab555fcb-b9ee-45f4-9de8-8f16daa5d03b', 'login1', 'Qwerty12345'); -INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('56b7c993-392f-41f8-adb1-9766842dc5fd', 'login2', 'AVALON123456'); -INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('a243b5f2-e265-4c25-82a9-dde4cc70643f', 'login3', 'Zxcvb123456'); -INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('51351bb1-7563-479d-a8e9-201d0ff934c2', 'login4', 'Sadly846612'); -INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b6', 'login5', 'Qwerty12345'); +); \ No newline at end of file diff --git a/db_assets/sql_scripts/seed_states.sql b/db_assets/sql_scripts/seed_states.sql new file mode 100644 index 0000000..66376e8 --- /dev/null +++ b/db_assets/sql_scripts/seed_states.sql @@ -0,0 +1,77 @@ +-- insert constants +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (1, 'Полное отсутствие мании'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (2, 'Слегка приподнятое настроение'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (3, 'Хорошее настроение'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (4, 'Очень хорошее настроение, но в рамках разумного'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (5, 'Гипомания I, характерная для циклотимии - приятная эйфория, повышенная активность'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (6, 'Гипомания II, характерная для БАР II - все, что в предыдущем пункте + белеет в глазах'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (7, 'Мания I - периодический не сильный отрыв от реальности'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (8, 'Мания II - сопровождается бредом и галлюцинациями - неадекватная речь'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (9, 'Мания III - сопровождается бредом и галлюцинациями - неадекватное поведение'); +INSERT INTO `up_and_down`.`mania` (`level`, `description`) VALUES (10, 'Мания IV - сопровождается бредом и галлюцинациями - человек опасен для себя и других'); + +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (1, 'Депрессия I'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (2, 'Депрессия II'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (3, 'Депрессия III'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (4, 'Депрессия IV'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (5, 'Депрессия V'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (6, 'Депрессия VI'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (7, 'Депрессия VII'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (8, 'Депрессия VIII'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (9, 'Депрессия IX'); +INSERT INTO `up_and_down`.`depressions` (`level`, `description`) VALUES (10, 'Депрессия X'); + +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (1, 'Настроение I'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (2, 'Настроение II'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (3, 'Настроение III'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (4, 'Настроение IV'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (5, 'Настроение V'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (6, 'Настроение VI'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (7, 'Настроение VII'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (8, 'Настроение VIII'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (9, 'Настроение IX'); +INSERT INTO `up_and_down`.`moods` (`level`, `description`) VALUES (10, 'Настроение X'); + +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (1, 'Активность I'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (2, 'Активность II'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (3, 'Активность III'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (4, 'Активность IV'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (5, 'Активность V'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (6, 'Активность VI'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (7, 'Активность VII'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (8, 'Активность VIII'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (9, 'Активность IX'); +INSERT INTO `up_and_down`.`activities` (`level`, `description`) VALUES (10, 'Активность X'); + +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (1, 'Аппетит I'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (2, 'Аппетит II'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (3, 'Аппетит III'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (4, 'Аппетит IV'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (5, 'Аппетит V'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (6, 'Аппетит VI'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (7, 'Аппетит VII'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (8, 'Аппетит VIII'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (9, 'Аппетит IX'); +INSERT INTO `up_and_down`.`appetites` (`level`, `description`) VALUES (10, 'Аппетит X'); + +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (1, 'Сон I'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (2, 'Сон II'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (3, 'Сон III'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (4, 'Сон IV'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (5, 'Сон V'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (6, 'Сон VI'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (7, 'Сон VII'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (8, 'Сон VIII'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (9, 'Сон IX'); +INSERT INTO `up_and_down`.`dreams` (`level`, `description`) VALUES (10, 'Сон X'); + +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (1, 'Тревога I'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (2, 'Тревога II'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (3, 'Тревога III'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (4, 'Тревога IV'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (5, 'Тревога V'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (6, 'Тревога VI'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (7, 'Тревога VII'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (8, 'Тревога VIII'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (9, 'Тревога IX'); +INSERT INTO `up_and_down`.`anxiety` (`level`, `description`) VALUES (10, 'Тревога X'); \ No newline at end of file diff --git a/db_assets/sql_scripts/seed_user_treatment_schemes.sql b/db_assets/sql_scripts/seed_user_treatment_schemes.sql new file mode 100644 index 0000000..9b2d6ef --- /dev/null +++ b/db_assets/sql_scripts/seed_user_treatment_schemes.sql @@ -0,0 +1,2 @@ +INSERT INTO `up_and_down`.`user_treatment_schemes` (`uuid`, `user_uuid`, `treatment_name`, `instructions`) VALUES ('bb555fcb-b9ee-45f4-9de8-8f16daa5d03b', 'c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b1', 'Схема лечения БАР I', `Аминазин при психозе, Феназепам не более трех раз в неделю`); + diff --git a/db_assets/sql_scripts/seed_users.sql b/db_assets/sql_scripts/seed_users.sql new file mode 100644 index 0000000..a79426c --- /dev/null +++ b/db_assets/sql_scripts/seed_users.sql @@ -0,0 +1,11 @@ +-- Заполнение пользователями +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('ab555fcb-b9ee-45f4-9de8-8f16daa5d03c', 'login1', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('56b7c993-392f-41f8-adb1-9766842dc5fd', 'login2', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('a243b5f2-e265-4c25-82a9-dde4cc70643f', 'login3', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('51351bb1-7563-479d-a8e9-201d0ff934c2', 'login4', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b6', 'login5', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b7', 'login6', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b8', 'login7', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b9', 'login8', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b0', 'login9', '56EED90A26203A6E'); +INSERT INTO `up_and_down`.`users` (`uuid`, `login`, `hashed_password`) VALUES ('c792bbe6-2bf2-4fe0-a781-ba96bfeaa3b1', 'login10', '56EED90A26203A6E'); diff --git a/src/DAO/MySQLUserDAO.cpp b/src/DAO/MySQLUserDAO.cpp index 55023c4..b058b00 100644 --- a/src/DAO/MySQLUserDAO.cpp +++ b/src/DAO/MySQLUserDAO.cpp @@ -58,7 +58,7 @@ pair> MySQLUserDAO::GetAll(size_t limit, size_t offset) static const string sql_script = "SELECT * FROM `up_and_down`.`users` LIMIT ? OFFSET ?;"s; mysqlx::SqlResult sql_result = session_ - .sql(sql_script) + seed_states.sql(sql_script) .bind(limit, offset) .execute(); list rows = sql_result.fetchAll(); @@ -100,7 +100,7 @@ bool MySQLUserDAO::Update(const user& u) { static const string sql_script = "UPDATE `up_and_down`.`users` SET `login` = ? WHERE `uuid` = ?;"s; - auto schema = session_.sql(sql_script) + auto schema = session_seed_states.sql(sql_script) .bind(u.login, u.uuid) .execute(); @@ -111,7 +111,7 @@ bool MySQLUserDAO::Delete(const string& uuid) { static const string sql_script = "DELETE FROM `up_and_down`.`users` WHERE `uuid` = ?;"; - auto schema = session_.sql(sql_script) + auto schema = session_seed_states.sql(sql_script) .bind(uuid) .execute();