From 9f5d36d1a176fdf4dad44e9c46b758a7f95a6250 Mon Sep 17 00:00:00 2001 From: Xatiko <107261855+Anymorexxx@users.noreply.github.com> Date: Fri, 29 Nov 2024 19:54:28 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F:=201.=20"=D0=9F=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=20=D0=BD=D0=B5?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=B9=D0=B4=D0=B5=D0=BD"=20+=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D0=BB=D0=B0=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D1=8B=20=D0=B8=D0=B7=20=D0=B1=D0=B4=20Dogs,?= =?UTF-8?q?=20Qoestions.=202.=20=D0=9C=D0=B5=D0=BD=D1=8E=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=83=D0=B7=D1=8B=20+=20=D0=BE=D0=BD=D0=BE=20=D0=B1=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D1=88=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D1=8F?= =?UTF-8?q?=D0=B2=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F=20=D0=B2=20=D0=B3?= =?UTF-8?q?=D0=BB=D0=B0=D0=B2=D0=BD=D0=BE=D0=BC=20=D0=BC=D0=B5=D0=BD=D1=8E?= =?UTF-8?q?,=20=D0=BF=D1=80=D0=B8=20=D0=B2=D1=8B=D0=B1=D0=BE=D1=80=D0=B5?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B1=D0=B0=D0=BA=D0=B8=20=D0=B8=20=D1=83=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=BD=D1=8F.=203.=20=D0=9E=D0=BA=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=B1=D0=B5=D0=B4=D1=8B=20+=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=D1=81?= =?UTF-8?q?=D1=8F=20=D0=BA=D1=83=D1=87=D0=B0=20=D0=BE=D0=BA=D0=BE=D0=BD,?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B1=D0=B0=D0=BA=D0=B0=20=D0=BD=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=B2=D0=B8=D0=B3=D0=B0=D0=B5=D1=82=D1=81=D1=8F,=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=20=D0=BE=D0=BA=D0=BD=D0=BE=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B1=D0=B5=D0=B4=D1=8B=20=D0=B0=D0=BA=D1=82=D0=B8=D0=B2=D0=BD?= =?UTF-8?q?=D0=BE=20+=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20"=D0=B2=D1=8B?= =?UTF-8?q?=D0=B9=D1=82=D0=B8=20=D0=B2=20=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=BC=D0=B5=D0=BD=D1=8E"=203.=20=D0=9E=D0=BA?= =?UTF-8?q?=D0=BD=D0=BE=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20+=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0?= =?UTF-8?q?=20"=D0=BF=D0=BE=D1=81=D0=BC=D0=BE=D1=82=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8C"=204.=20=D1=82?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B0=20GameSessions=20+=20?= =?UTF-8?q?=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=D0=B3=D1=80=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D1=86=D0=B5=D1=81=D1=81=D0=B0=20=D0=B2=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86=D1=83=20GameSessions=20+=20=D0=BE?= =?UTF-8?q?=D0=B4=D0=B8=D0=BD=D0=B0=D0=BA=D0=BE=D0=B2=D1=8B=D0=B5=20=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=8F=D1=82=D1=81=D1=8F=20=D0=B0=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=83=20GameSessions=20?= =?UTF-8?q?+=20=D1=81=D0=BE=D0=B1=D1=80=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=81=D1=82=D0=BE=D1=87=D0=BA=D0=B8=20=D0=B8=20?= =?UTF-8?q?=D1=82=D0=BF=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D1=8F=D1=8E?= =?UTF-8?q?=D1=82=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86=D1=83=20GameSessions=205.=20=D0=9E?= =?UTF-8?q?=D0=BA=D0=BD=D0=BE=20"=D0=9F=D1=80=D0=BE=D1=84=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8F"=20+=20=D0=BD=D0=B5=D1=82=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D0=BA=D0=BD=D0=B0=20+=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE?= =?UTF-8?q?=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B8=D0=B3?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE=D1=86?= =?UTF-8?q?=D0=B5=D1=81=D1=81=D0=B0=20(=D1=83=D1=80=D0=BE=D0=B2=D0=BD?= =?UTF-8?q?=D0=B8,=20=D0=BA=D0=BE=D1=81=D1=82=D0=BE=D1=87=D0=BA=D0=B8)=206?= =?UTF-8?q?.=20=D0=9E=D0=BA=D0=BD=D0=BE=20"=D0=9C=D0=B0=D0=B3=D0=B0=D0=B7?= =?UTF-8?q?=D0=B8=D0=BD"=20+=20=D0=BD=D0=B5=20=D0=BA=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D0=B1=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20+=20=D0=BA?= =?UTF-8?q?=D0=BD=D0=BE=D0=BF=D0=BA=D0=B0=20"=D0=BD=D0=B0=D0=B7=D0=B0?= =?UTF-8?q?=D0=B4"=20-=20shop=5Fui.py=207.=20=D0=9E=D0=BA=D0=BD=D0=BE=20"?= =?UTF-8?q?=D0=91=D0=B0=D0=B7=D0=B0=20=D0=B7=D0=BD=D0=B0=D0=BD=D0=B8=D0=B9?= =?UTF-8?q?"=20+=20=D0=BD=D0=B5=20=D0=BA=D0=BB=D0=B8=D0=BA=D0=B0=D0=B1?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20+=20=D0=BA=D0=BD=D0=BE?= =?UTF-8?q?=D0=BF=D0=BA=D0=B0=20"=D0=BD=D0=B0=D0=B7=D0=B0=D0=B4"=20-=20kno?= =?UTF-8?q?wledge=5Fui.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 2 +- database/DogAcademy.db | Bin 36864 -> 0 bytes database/db_events.py | 11 +- database/db_session.py | 2 +- database/info/Dogs_table.py | 67 + database/info/GameSessions_table.py | 34 + database/info/Questions_table.py | 99 + database/info/__init__.py | 0 database/models.py | 2 +- logs/logfile.log | 2733 +++++++++++++++++++++++++++ src/main.py | 2 +- src/tests/database_test.py | 39 + src/ui/admin_ui.py | 18 +- src/ui/auth_ui.py | 11 + src/ui/user_ui/game_ui.py | 132 +- src/ui/user_ui/knowledge_ui.py | 34 - src/ui/user_ui/main_menu.py | 20 +- src/ui/user_ui/profile_ui.py | 14 +- src/ui/user_ui/shop_ui.py | 24 - src/utils.py | 6 +- 20 files changed, 3093 insertions(+), 157 deletions(-) delete mode 100644 database/DogAcademy.db create mode 100644 database/info/Dogs_table.py create mode 100644 database/info/GameSessions_table.py create mode 100644 database/info/Questions_table.py create mode 100644 database/info/__init__.py create mode 100644 src/tests/database_test.py delete mode 100644 src/ui/user_ui/knowledge_ui.py delete mode 100644 src/ui/user_ui/shop_ui.py diff --git a/config.py b/config.py index b3232ce..b95b49a 100644 --- a/config.py +++ b/config.py @@ -120,4 +120,4 @@ MIN_OBSTACLES = 3 # Минимум препятствий на уровне MAX_OBSTACLES = 6 # Максимум препятствий на уровне # Графика и анимация -COUNTDOWN_DURATION = 3 # Продолжительность обратного отсчёта в секундах +COUNTDOWN_DURATION = 3 # Продолжительность обратного отсчёта в секундах \ No newline at end of file diff --git a/database/DogAcademy.db b/database/DogAcademy.db deleted file mode 100644 index b1ed3ce9bbe022dff36a14def3445901340c2dc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36864 zcmeI)O>f&a7zc2vN&S|k?j_Y>=t`hK69Ykqtf!&qFgH~@V~*S^PSKtOMPh7XdT}Kx z39wVs?z9iLud!><%Z?+ZNEPRL19ofl7c575DA{~|59!45%i)VLnx=Kc+7)ZLw8X}Gxg&n+we3}#9qs<<@0 zus{F;5P$##AOL|cP2l2Yr)_L+>+c-y9tSjvIXhvV%UK+y%1(FRHiuJ_OoxxhCQ+Km zPOn=JILs#_Yid3-ZDLKP#5x*}cS*0Cr8KFv$xuks)SXc>HD8J2YR7UWnz$P-$P;m| z)6sz`4`->9P}e7qCzG)`v}EYHJvtcLugTBmYqIl?UJT>`PbaoHdS=N3b}oA`Ah!9` zv`uT@JR~xflB%gUc=t^!C;9EyoMh&P)Ja7@C5f`rR!Ed4Npg8kEn_9a&u9enlm?%r zOT9RuWsA(p&yu`I^_cKVxFh8hG#dHK!8vsUKChoW&!QPk>X9^{bipE#dOfOuf66hp z-k(^9Q+p_iPcnAyI_cL`SKWN zp&0s3mIUPG(BA)PXv=fvG+3Nufy1JcI6p-OStRP8P>(w<=QLdK)fK7klle=!MGuwH zFG6DQUpDjx7q`~ihGFRMH*%kRZsb?j6_-3DP4Wt_nC{CS^5{rRr!rq{3XDUWT zR|dVo+k1MEz_)p2rH5RvDG3xx|6bN0p0TLRK*??4rs-LnROu;=O0UWaNr3W^A-`SG z(d}z3`3ZnCy#C+30f3Al009U<00Izz00bZa0SG{# zc>;L;-@KY5V+cS10uX=z1Rwwb2tWV=5NMu&{Qf_D{=a#3N5&9<00bZa0SG_<0uX=z j1R&5X0lfa-ta>9`2tWV=5P$##AOHafKmY;|Xr{p56lp6o diff --git a/database/db_events.py b/database/db_events.py index b0a6142..93b6de6 100644 --- a/database/db_events.py +++ b/database/db_events.py @@ -95,13 +95,12 @@ def save_progress(user_id, level, score, duration, health, hunger, sleepiness): session.close() def get_user_progress(user_id): - """Получение прогресса пользователя по его ID.""" + """Получение игрового прогресса пользователя.""" session = get_session() try: - progress = session.query(GameSession).filter_by(user_id=user_id).all() - return progress - except SQLAlchemyError as e: - print(f"Ошибка при получении прогресса: {e}") + return session.query(GameSession).filter_by(user_id=user_id).all() + except Exception as e: + print(f"Ошибка при получении прогресса пользователя: {e}") return [] finally: session.close() @@ -316,4 +315,4 @@ def update_question(question_id, text, helpful_info): session.rollback() return False, f"Ошибка при обновлении: {e}" finally: - session.close() + session.close() \ No newline at end of file diff --git a/database/db_session.py b/database/db_session.py index 7897792..9a15408 100644 --- a/database/db_session.py +++ b/database/db_session.py @@ -46,4 +46,4 @@ def close_sessions(): print("Закрытие сессии...") current_session.close() else: - print("Нет активной сессии для закрытия.") + print("Нет активной сессии для закрытия.") \ No newline at end of file diff --git a/database/info/Dogs_table.py b/database/info/Dogs_table.py new file mode 100644 index 0000000..45c6759 --- /dev/null +++ b/database/info/Dogs_table.py @@ -0,0 +1,67 @@ +from database.db_session import get_session +from database.models import Dogs + +DOG_CHARACTERS = { + "Chihuahua": { + "characteristics": "Скорость: 8, Выносливость: 5, Умение: Быстрое уклонение.", + "behavior": "Энергичный, часто лайливый.", + "care_info": "Нуждается в регулярной чистке зубов и когтей.", + "admin_comments": "Идеален для активных владельцев." + }, + "Corgi": { + "characteristics": "Скорость: 6, Выносливость: 7, Умение: Дополнительный прыжок.", + "behavior": "Дружелюбный, легко обучаемый.", + "care_info": "Важно контролировать вес из-за коротких лап.", + "admin_comments": "Подходит для семей с детьми." + }, + "Golden Retriever": { + "characteristics": "Скорость: 7, Выносливость: 8, Умение: Увеличенные очки за правильные ответы.", + "behavior": "Очень умный и добрый.", + "care_info": "Требует регулярной чистки шерсти.", + "admin_comments": "Идеален для владельцев, ищущих верного друга." + }, + "Husky": { + "characteristics": "Скорость: 9, Выносливость: 6, Умение: Ускорение.", + "behavior": "Независимый, требует много активности.", + "care_info": "Плохо переносит жару, требует частых прогулок.", + "admin_comments": "Для опытных владельцев." + }, + "Pomeranian": { + "characteristics": "Скорость: 7, Выносливость: 4, Умение: Уменьшение штрафа за ошибки.", + "behavior": "Веселый, преданный.", + "care_info": "Шерсть требует ежедневного ухода.", + "admin_comments": "Идеален для жизни в квартире." + }, + "Pug": { + "characteristics": "Скорость: 5, Выносливость: 9, Умение: Сохраняет здоровье при столкновениях.", + "behavior": "Ласковый, склонен к перееданию.", + "care_info": "Внимание к дыханию и физической активности.", + "admin_comments": "Для спокойного образа жизни." + }, + "Yorkshire Terrier": { + "characteristics": "Скорость: 6, Выносливость: 5, Умение: Быстрое восстановление характеристик.", + "behavior": "Компактный, умный.", + "care_info": "Требует профессиональной стрижки.", + "admin_comments": "Подходит для маленьких пространств." + } +} + +def populate_dogs(): + session = get_session() + try: + for breed, data in DOG_CHARACTERS.items(): + dog = Dogs( + breed=breed, + characteristics=data['characteristics'], + behavior=data['behavior'], + care_info=data['care_info'], + admin_comments=data['admin_comments'] + ) + session.add(dog) + session.commit() + print("Таблица Dogs успешно заполнена.") + except Exception as e: + session.rollback() + print(f"Ошибка при заполнении Dogs: {e}") + finally: + session.close() diff --git a/database/info/GameSessions_table.py b/database/info/GameSessions_table.py new file mode 100644 index 0000000..34177b1 --- /dev/null +++ b/database/info/GameSessions_table.py @@ -0,0 +1,34 @@ +from database.db_events import get_user_progress +from database.db_session import get_session +from sqlalchemy.exc import SQLAlchemyError +from database.models import GameSession + + +def save_game_session(user_id, level, score, duration, health, hunger, sleepiness): + """Сохранение игрового процесса в таблицу GameSessions.""" + session = get_session() + try: + # Создаем новый объект GameSession + game_session = GameSession( + user_id=user_id, + level=level, + score=score, + duration=duration, + health=health, + hunger=hunger, + sleepiness=sleepiness, + ) + session.add(game_session) + session.commit() # Сохраняем данные в таблице + print(f"Игровой процесс для пользователя {user_id} на уровне {level} успешно сохранен.") + except SQLAlchemyError as e: + session.rollback() + print(f"Ошибка при сохранении игрового процесса: {e}") + finally: + session.close() + +def print_user_progress(user_id): + """Печать прогресса пользователя из таблицы GameSessions.""" + progress = get_user_progress(user_id) + for session in progress: + print(f"Уровень: {session.level}, Очки: {session.score}, Время: {session.duration} секунд") \ No newline at end of file diff --git a/database/info/Questions_table.py b/database/info/Questions_table.py new file mode 100644 index 0000000..12b98a0 --- /dev/null +++ b/database/info/Questions_table.py @@ -0,0 +1,99 @@ +from database.db_session import get_session +from database.models import Dogs, Questions + +DOG_QUESTIONS = { + "Chihuahua": [ + { + "question_text": "Почему у Чихуахуа часто возникают проблемы с зубами?", + "helpful_info": "Миниатюрный размер приводит к скоплению налета и зубных отложений.", + }, + { + "question_text": "Какая активность лучше всего подходит для Чихуахуа?", + "helpful_info": "Легкие прогулки и домашние игры.", + } + ], + "Corgi": [ + { + "question_text": "Почему важно контролировать вес Корги?", + "helpful_info": "Избыточный вес может негативно повлиять на суставы.", + }, + { + "question_text": "Как можно поддерживать здоровье суставов у Корги?", + "helpful_info": "Обеспечьте умеренную активность и сбалансированное питание.", + } + ], + "Golden Retriever": [ + { + "question_text": "Почему важно регулярно вычесывать шерсть Голден Ретривера?", + "helpful_info": "Это предотвращает образование колтунов.", + }, + { + "question_text": "Какое питание подходит для Голден Ретриверов?", + "helpful_info": "Сбалансированное питание с учетом активности и возраста.", + } + ], + "Husky": [ + { + "question_text": "Какой климат подходит для Хаски?", + "helpful_info": "Они комфортнее чувствуют себя в холодном климате.", + }, + { + "question_text": "Почему Хаски требуют много физической активности?", + "helpful_info": "Эта порода обладает высокой энергией и выносливостью.", + } + ], + "Pomeranian": [ + { + "question_text": "Как правильно ухаживать за шерстью Померанского шпица?", + "helpful_info": "Ежедневно расчесывать шерсть, чтобы избежать колтунов.", + }, + { + "question_text": "Почему важно следить за зубами Померанского шпица?", + "helpful_info": "Они склонны к зубному налету, что может привести к проблемам.", + } + ], + "Pug": [ + { + "question_text": "Почему мопсы склонны к ожирению?", + "helpful_info": "Их низкая активность и любовь к еде требуют контроля рациона.", + }, + { + "question_text": "Какие проблемы с дыханием могут возникнуть у мопсов?", + "helpful_info": "Из-за их плоской морды дыхание может быть затруднено.", + } + ], + "Yorkshire Terrier": [ + { + "question_text": "Как часто нужно стричь шерсть Йоркширского терьера?", + "helpful_info": "Примерно раз в 4-6 недель для поддержания аккуратного вида.", + }, + { + "question_text": "Как ухаживать за шерстью Йоркширского терьера?", + "helpful_info": "Регулярно расчесывать и использовать специальные средства.", + } + ] +} + +def populate_questions(): + session = get_session() + try: + dogs = {dog.breed: dog.dog_id for dog in session.query(Dogs).all()} + for breed, questions in DOG_QUESTIONS.items(): + dog_id = dogs.get(breed) + if not dog_id: + print(f"Порода '{breed}' отсутствует.") + continue + for question_data in questions: + question = Questions( + dog_id=dog_id, + question_text=question_data["question_text"], + helpful_info=question_data["helpful_info"] + ) + session.add(question) + session.commit() + print("Таблица Questions успешно заполнена.") + except Exception as e: + session.rollback() + print(f"Ошибка при заполнении Questions: {e}") + finally: + session.close() diff --git a/database/info/__init__.py b/database/info/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/database/models.py b/database/models.py index d0725c9..fd7127c 100644 --- a/database/models.py +++ b/database/models.py @@ -87,4 +87,4 @@ class Notifications(Base): is_read = Column(Boolean, default=False) # Булевый тип для read # Связь с таблицей Users - user = relationship("Users", back_populates="notifications") + user = relationship("Users", back_populates="notifications") \ No newline at end of file diff --git a/logs/logfile.log b/logs/logfile.log index f51163d..0c7ab80 100644 --- a/logs/logfile.log +++ b/logs/logfile.log @@ -2234,3 +2234,2736 @@ WHERE auth.login = ? FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id 2024-11-28 16:39:51 - [generated in 0.00017s] () 2024-11-28 16:39:51 - ROLLBACK +2024-11-28 20:09:56 - . +2024-11-28 20:10:14 - BEGIN (implicit) +2024-11-28 20:10:14 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 20:10:14 - [generated in 0.00023s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 20:10:14 - ROLLBACK +2024-11-28 20:35:42 - . +2024-11-28 20:35:58 - BEGIN (implicit) +2024-11-28 20:35:58 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 20:35:58 - [generated in 0.00024s] ('lubluNikitu', 'meow_123', 1, 0) +2024-11-28 20:35:58 - ROLLBACK +2024-11-28 20:36:04 - BEGIN (implicit) +2024-11-28 20:36:04 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 20:36:04 - [cached since 5.986s ago] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 20:36:04 - ROLLBACK +2024-11-28 20:39:35 - : 1, 8. +2024-11-28 21:05:47 - . +2024-11-28 21:06:22 - BEGIN (implicit) +2024-11-28 21:06:22 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:06:22 - [generated in 0.00024s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 21:06:22 - ROLLBACK +2024-11-28 21:06:54 - BEGIN (implicit) +2024-11-28 21:06:54 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:06:54 - [generated in 0.00034s] (1, 0) +2024-11-28 21:06:54 - ROLLBACK +2024-11-28 21:07:51 - . +2024-11-28 21:07:52 - BEGIN (implicit) +2024-11-28 21:07:52 - PRAGMA main.table_info("auth") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("auth") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA main.table_info("users") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("users") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA main.table_info("dogs") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("dogs") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA main.table_info("questions") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("questions") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA main.table_info("game_sessions") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("game_sessions") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA main.table_info("notifications") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - PRAGMA temp.table_info("notifications") +2024-11-28 21:07:52 - [raw sql] () +2024-11-28 21:07:52 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-28 21:07:52 - [no key 0.00011s] () +2024-11-28 21:07:52 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-28 21:07:52 - [no key 0.00022s] () +2024-11-28 21:07:52 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-28 21:07:52 - [no key 0.00018s] () +2024-11-28 21:07:52 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-28 21:07:52 - [no key 0.00019s] () +2024-11-28 21:07:52 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-28 21:07:52 - [no key 0.00021s] () +2024-11-28 21:07:52 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-28 21:07:52 - [no key 0.00046s] () +2024-11-28 21:07:52 - COMMIT +2024-11-28 21:08:15 - BEGIN (implicit) +2024-11-28 21:08:15 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-28 21:08:15 - [generated in 0.00027s] ('lubluNikitu', 1, 0) +2024-11-28 21:08:15 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-28 21:08:15 - [generated in 0.00016s] ('lubluNikitu', 'meow123') +2024-11-28 21:08:15 - COMMIT +2024-11-28 21:08:15 - BEGIN (implicit) +2024-11-28 21:08:15 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-28 21:08:15 - [generated in 0.00015s] (1,) +2024-11-28 21:08:15 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-28 21:08:15 - [generated in 0.00017s] (1, None, 'qwe', 1, None) +2024-11-28 21:08:15 - COMMIT +2024-11-28 21:08:39 - BEGIN (implicit) +2024-11-28 21:08:39 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:08:39 - [generated in 0.00017s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 21:08:39 - ROLLBACK +2024-11-28 21:09:33 - : 1, 0. +2024-11-28 21:09:38 - : 1, 0. +2024-11-28 21:09:46 - BEGIN (implicit) +2024-11-28 21:09:46 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:09:46 - [generated in 0.00018s] (1, 0) +2024-11-28 21:09:46 - ROLLBACK +2024-11-28 21:10:03 - BEGIN (implicit) +2024-11-28 21:10:03 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:10:03 - [cached since 17.46s ago] (1, 0) +2024-11-28 21:10:03 - ROLLBACK +2024-11-28 21:10:11 - BEGIN (implicit) +2024-11-28 21:10:11 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:10:11 - [cached since 25.68s ago] (1, 0) +2024-11-28 21:10:11 - ROLLBACK +2024-11-28 21:10:17 - : 1, 0. +2024-11-28 21:10:19 - BEGIN (implicit) +2024-11-28 21:10:19 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:10:19 - [cached since 33.37s ago] (1, 0) +2024-11-28 21:10:19 - ROLLBACK +2024-11-28 21:10:53 - BEGIN (implicit) +2024-11-28 21:10:53 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:10:53 - [cached since 67.69s ago] (1, 0) +2024-11-28 21:10:53 - ROLLBACK +2024-11-28 21:10:53 - ID None . +2024-11-28 21:27:35 - . +2024-11-28 21:27:59 - BEGIN (implicit) +2024-11-28 21:27:59 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:27:59 - [generated in 0.00024s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 21:27:59 - ROLLBACK +2024-11-28 21:28:03 - . . +2024-11-28 21:28:06 - BEGIN (implicit) +2024-11-28 21:28:06 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:28:06 - [generated in 0.00026s] (1, 0) +2024-11-28 21:28:06 - ROLLBACK +2024-11-28 21:30:30 - : 1, 0. +2024-11-28 21:41:56 - . +2024-11-28 21:42:25 - BEGIN (implicit) +2024-11-28 21:42:25 - SELECT count(*) AS count_1 +FROM (SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users) AS anon_1 +2024-11-28 21:42:25 - [generated in 0.00026s] () +2024-11-28 21:42:25 - SELECT game_sessions.level AS game_sessions_level, count(game_sessions.session_id) AS count_1 +FROM game_sessions GROUP BY game_sessions.level +2024-11-28 21:42:25 - [generated in 0.00018s] () +2024-11-28 21:42:25 - SELECT questions.question_text AS questions_question_text, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions ORDER BY questions.incorrect_attempts DESC +2024-11-28 21:42:25 - [generated in 0.00016s] () +2024-11-28 21:42:25 - SELECT avg(game_sessions.duration) AS avg_1 +FROM game_sessions +2024-11-28 21:42:25 - [generated in 0.00013s] () +2024-11-28 21:42:25 - ROLLBACK +2024-11-28 21:42:25 - BEGIN (implicit) +2024-11-28 21:42:25 - SELECT game_sessions.start_time AS game_sessions_start_time +FROM game_sessions +2024-11-28 21:42:25 - [generated in 0.00014s] () +2024-11-28 21:42:25 - ROLLBACK +2024-11-28 21:42:47 - BEGIN (implicit) +2024-11-28 21:42:47 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-28 21:42:47 - [generated in 0.00018s] ('lubluNikitu', 1, 0) +2024-11-28 21:42:47 - ROLLBACK +2024-11-28 21:43:05 - : 1, 0. +2024-11-28 21:44:12 - : 1, 0. +2024-11-28 21:44:24 - BEGIN (implicit) +2024-11-28 21:44:24 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-28 21:44:24 - [generated in 0.00016s] () +2024-11-28 21:44:24 - ROLLBACK +2024-11-28 21:44:26 - BEGIN (implicit) +2024-11-28 21:44:26 - SELECT questions.question_id AS questions_question_id, questions.dog_id AS questions_dog_id, questions.question_text AS questions_question_text, questions.image_url AS questions_image_url, questions.helpful_info AS questions_helpful_info, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions +2024-11-28 21:44:26 - [generated in 0.00014s] () +2024-11-28 21:44:26 - ROLLBACK +2024-11-28 21:44:27 - BEGIN (implicit) +2024-11-28 21:44:27 - SELECT dogs.dog_id AS dogs_dog_id, dogs.breed AS dogs_breed, dogs.characteristics AS dogs_characteristics, dogs.behavior AS dogs_behavior, dogs.care_info AS dogs_care_info, dogs.admin_comments AS dogs_admin_comments +FROM dogs +2024-11-28 21:44:27 - [generated in 0.00017s] () +2024-11-28 21:44:27 - ROLLBACK +2024-11-28 21:44:31 - BEGIN (implicit) +2024-11-28 21:44:31 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-28 21:44:31 - [cached since 6.631s ago] () +2024-11-28 21:44:31 - ROLLBACK +2024-11-28 21:44:31 - BEGIN (implicit) +2024-11-28 21:44:31 - SELECT questions.question_id AS questions_question_id, questions.dog_id AS questions_dog_id, questions.question_text AS questions_question_text, questions.image_url AS questions_image_url, questions.helpful_info AS questions_helpful_info, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions +2024-11-28 21:44:31 - [cached since 4.702s ago] () +2024-11-28 21:44:31 - ROLLBACK +2024-11-28 21:44:31 - BEGIN (implicit) +2024-11-28 21:44:31 - SELECT dogs.dog_id AS dogs_dog_id, dogs.breed AS dogs_breed, dogs.characteristics AS dogs_characteristics, dogs.behavior AS dogs_behavior, dogs.care_info AS dogs_care_info, dogs.admin_comments AS dogs_admin_comments +FROM dogs +2024-11-28 21:44:31 - [cached since 3.321s ago] () +2024-11-28 21:44:31 - ROLLBACK +2024-11-28 21:44:33 - BEGIN (implicit) +2024-11-28 21:44:33 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-28 21:44:33 - [cached since 9.007s ago] () +2024-11-28 21:44:33 - ROLLBACK +2024-11-28 21:44:34 - BEGIN (implicit) +2024-11-28 21:44:34 - SELECT questions.question_id AS questions_question_id, questions.dog_id AS questions_dog_id, questions.question_text AS questions_question_text, questions.image_url AS questions_image_url, questions.helpful_info AS questions_helpful_info, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions +2024-11-28 21:44:34 - [cached since 7.599s ago] () +2024-11-28 21:44:34 - ROLLBACK +2024-11-28 21:44:34 - BEGIN (implicit) +2024-11-28 21:44:34 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-28 21:44:34 - [cached since 10.18s ago] () +2024-11-28 21:44:34 - ROLLBACK +2024-11-28 21:47:39 - . +2024-11-28 21:47:57 - BEGIN (implicit) +2024-11-28 21:47:57 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:47:57 - [generated in 0.00035s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-28 21:47:57 - ROLLBACK +2024-11-28 21:48:00 - . . +2024-11-28 21:55:15 - . +2024-11-28 21:55:15 - BEGIN (implicit) +2024-11-28 21:55:15 - INSERT INTO dogs (dog_id, breed, speed, endurance, special_ability, image, characteristics, behavior, care_info, admin_comments) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) +2024-11-28 21:55:15 - [generated in 0.00025s] [(1, 'Chihuahua', 8, 5, 'Fast Dodge', 'F:/Projects/Dog_Academy/assets/dogs/Chihuahua.png', None, None, None, None), (2, 'Corgi', 6, 7, 'Extra Jump', 'F:/Projects/Dog_Academy/assets/dogs/Corgi.png', None, None, None, None), (3, 'Golden Retriever', 7, 8, 'Bonus Points', 'F:/Projects/Dog_Academy/assets/dogs/Golden_Retriever.png', None, None, None, None), (4, 'Husky', 9, 6, 'Speed Boost', 'F:/Projects/Dog_Academy/assets/dogs/Husky.png', None, None, None, None), (5, 'Pomeranian', 7, 4, 'Charm', 'F:/Projects/Dog_Academy/assets/dogs/Pomeranian.png', None, None, None, None), (6, 'Pug', 5, 9, 'Resilience', 'F:/Projects/Dog_Academy/assets/dogs/Pug.png', None, None, None, None), (7, 'Yorkshire Terrier', 6, 5, 'Quick Recovery', 'F:/Projects/Dog_Academy/assets/dogs/Yorkshire_Terrier.png', None, None, None, None)] +2024-11-28 21:55:15 - ROLLBACK +2024-11-28 21:55:15 - BEGIN (implicit) +2024-11-28 21:55:15 - PRAGMA main.table_info("auth") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - PRAGMA main.table_info("users") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - PRAGMA main.table_info("dogs") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - PRAGMA main.table_info("questions") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - PRAGMA main.table_info("game_sessions") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - PRAGMA main.table_info("notifications") +2024-11-28 21:55:15 - [raw sql] () +2024-11-28 21:55:15 - +DROP TABLE notifications +2024-11-28 21:55:15 - [no key 0.00010s] () +2024-11-28 21:55:15 - +DROP TABLE game_sessions +2024-11-28 21:55:15 - [no key 0.00017s] () +2024-11-28 21:55:15 - +DROP TABLE questions +2024-11-28 21:55:15 - [no key 0.00017s] () +2024-11-28 21:55:15 - +DROP TABLE users +2024-11-28 21:55:15 - [no key 0.00018s] () +2024-11-28 21:55:15 - +DROP TABLE dogs +2024-11-28 21:55:15 - [no key 0.00019s] () +2024-11-28 21:55:16 - +DROP TABLE auth +2024-11-28 21:55:16 - [no key 0.00018s] () +2024-11-28 21:55:16 - COMMIT +2024-11-28 21:55:16 - BEGIN (implicit) +2024-11-28 21:55:16 - PRAGMA main.table_info("auth") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("auth") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA main.table_info("users") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("users") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA main.table_info("dogs") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("dogs") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA main.table_info("questions") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("questions") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA main.table_info("game_sessions") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("game_sessions") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA main.table_info("notifications") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - PRAGMA temp.table_info("notifications") +2024-11-28 21:55:16 - [raw sql] () +2024-11-28 21:55:16 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-28 21:55:16 - [no key 0.00010s] () +2024-11-28 21:55:16 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR NOT NULL, + speed INTEGER NOT NULL, + endurance INTEGER NOT NULL, + special_ability VARCHAR NOT NULL, + image VARCHAR NOT NULL, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-28 21:55:16 - [no key 0.00018s] () +2024-11-28 21:55:16 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-28 21:55:16 - [no key 0.00020s] () +2024-11-28 21:55:16 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-28 21:55:16 - [no key 0.00020s] () +2024-11-28 21:55:16 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-28 21:55:16 - [no key 0.00019s] () +2024-11-28 21:55:16 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-28 21:55:16 - [no key 0.00023s] () +2024-11-28 21:55:16 - COMMIT +2024-11-28 21:55:40 - BEGIN (implicit) +2024-11-28 21:55:40 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-28 21:55:40 - [generated in 0.00020s] ('meow', 1, 0) +2024-11-28 21:55:40 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-28 21:55:40 - [generated in 0.00015s] ('meow', 'mwoe') +2024-11-28 21:55:40 - COMMIT +2024-11-28 21:55:40 - BEGIN (implicit) +2024-11-28 21:55:40 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-28 21:55:40 - [generated in 0.00015s] (1,) +2024-11-28 21:55:40 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-28 21:55:40 - [generated in 0.00016s] (1, None, 'meow', 1, None) +2024-11-28 21:55:40 - COMMIT +2024-11-28 21:55:54 - BEGIN (implicit) +2024-11-28 21:55:54 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:55:54 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-28 21:55:54 - ROLLBACK +2024-11-28 21:56:34 - BEGIN (implicit) +2024-11-28 21:56:34 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:56:34 - [cached since 40.05s ago] ('meow', 'mewo', 1, 0) +2024-11-28 21:56:34 - ROLLBACK +2024-11-28 21:57:06 - BEGIN (implicit) +2024-11-28 21:57:06 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-28 21:57:06 - [cached since 72.52s ago] ('meow', 'mwoe', 1, 0) +2024-11-28 21:57:06 - ROLLBACK +2024-11-28 21:57:11 - . . +2024-11-28 21:57:13 - BEGIN (implicit) +2024-11-28 21:57:13 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:57:13 - [generated in 0.00016s] (1, 0) +2024-11-28 21:57:13 - ROLLBACK +2024-11-28 21:57:43 - BEGIN (implicit) +2024-11-28 21:57:43 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-28 21:57:43 - [cached since 30.28s ago] (1, 0) +2024-11-28 21:57:43 - ROLLBACK +2024-11-28 21:57:43 - . . +2024-11-29 16:45:39 - . +2024-11-29 16:46:05 - BEGIN (implicit) +2024-11-29 16:46:05 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 16:46:05 - [generated in 0.00023s] ('meow', 'mwoe', 1, 0) +2024-11-29 16:46:05 - ROLLBACK +2024-11-29 17:15:11 - . +2024-11-29 17:15:27 - BEGIN (implicit) +2024-11-29 17:15:27 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:15:27 - [generated in 0.00026s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-29 17:15:27 - ROLLBACK +2024-11-29 17:16:17 - . +2024-11-29 17:16:49 - BEGIN (implicit) +2024-11-29 17:16:49 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 17:16:49 - [generated in 0.00029s] ('lubluNikitu', 1, 0) +2024-11-29 17:16:49 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 17:16:49 - [generated in 0.00022s] ('lubluNikitu', 'meow123') +2024-11-29 17:16:49 - COMMIT +2024-11-29 17:16:49 - BEGIN (implicit) +2024-11-29 17:16:49 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 17:16:49 - [generated in 0.00015s] (1,) +2024-11-29 17:16:49 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 17:16:49 - [generated in 0.00017s] (1, None, 'meoww', 1, None) +2024-11-29 17:16:49 - COMMIT +2024-11-29 17:17:10 - BEGIN (implicit) +2024-11-29 17:17:10 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:17:10 - [generated in 0.00016s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-29 17:17:10 - ROLLBACK +2024-11-29 17:17:33 - : 1, 2. +2024-11-29 17:20:24 - . +2024-11-29 17:20:38 - BEGIN (implicit) +2024-11-29 17:20:38 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:20:38 - [generated in 0.00032s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-29 17:20:38 - ROLLBACK +2024-11-29 17:21:08 - . +2024-11-29 17:21:29 - BEGIN (implicit) +2024-11-29 17:21:29 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 17:21:29 - [generated in 0.00021s] ('meow', 1, 0) +2024-11-29 17:21:29 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 17:21:29 - [generated in 0.00016s] ('meow', 'meow123') +2024-11-29 17:21:29 - COMMIT +2024-11-29 17:21:29 - BEGIN (implicit) +2024-11-29 17:21:29 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 17:21:29 - [generated in 0.00015s] (2,) +2024-11-29 17:21:29 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 17:21:29 - [generated in 0.00020s] (2, None, 'meoww', 1, None) +2024-11-29 17:21:29 - COMMIT +2024-11-29 17:21:41 - BEGIN (implicit) +2024-11-29 17:21:41 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:21:41 - [generated in 0.00016s] ('meow', 'meow123', 1, 0) +2024-11-29 17:21:41 - ROLLBACK +2024-11-29 17:22:13 - BEGIN (implicit) +2024-11-29 17:22:13 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-29 17:22:13 - [generated in 0.00025s] (1, 0) +2024-11-29 17:22:13 - ROLLBACK +2024-11-29 17:22:13 - ID None . +2024-11-29 17:22:51 - BEGIN (implicit) +2024-11-29 17:22:51 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users +WHERE users.user_id IS NULL + LIMIT ? OFFSET ? +2024-11-29 17:22:51 - [cached since 37.97s ago] (1, 0) +2024-11-29 17:22:51 - ROLLBACK +2024-11-29 17:22:51 - ID None . +2024-11-29 17:22:55 - : 3, 0. +2024-11-29 17:28:33 - . +2024-11-29 17:28:42 - BEGIN (implicit) +2024-11-29 17:28:42 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:28:42 - [generated in 0.00029s] ('meow', 'meow123', 1, 0) +2024-11-29 17:28:42 - ROLLBACK +2024-11-29 17:30:52 - : 1, 0. +2024-11-29 17:51:01 - . +2024-11-29 17:52:47 - BEGIN (implicit) +2024-11-29 17:52:47 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 17:52:47 - [generated in 0.00024s] ('lubluNikitu', 1, 0) +2024-11-29 17:52:47 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 17:52:47 - [generated in 0.00021s] ('lubluNikitu', 'meow123') +2024-11-29 17:52:47 - COMMIT +2024-11-29 17:52:47 - BEGIN (implicit) +2024-11-29 17:52:47 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 17:52:47 - [generated in 0.00019s] (1,) +2024-11-29 17:52:47 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 17:52:47 - [generated in 0.00019s] (1, None, 'umenyashizazovutNikita', 1, None) +2024-11-29 17:52:47 - COMMIT +2024-11-29 17:54:31 - BEGIN (implicit) +2024-11-29 17:54:31 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 17:54:31 - [generated in 0.00017s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-29 17:54:32 - ROLLBACK +2024-11-29 17:54:49 - . +2024-11-29 17:55:02 - BEGIN (implicit) +2024-11-29 17:55:02 - SELECT count(*) AS count_1 +FROM (SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement +FROM users) AS anon_1 +2024-11-29 17:55:02 - [generated in 0.00028s] () +2024-11-29 17:55:02 - SELECT game_sessions.level AS game_sessions_level, count(game_sessions.session_id) AS count_1 +FROM game_sessions GROUP BY game_sessions.level +2024-11-29 17:55:02 - [generated in 0.00018s] () +2024-11-29 17:55:02 - SELECT questions.question_text AS questions_question_text, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions ORDER BY questions.incorrect_attempts DESC +2024-11-29 17:55:02 - [generated in 0.00013s] () +2024-11-29 17:55:02 - SELECT avg(game_sessions.duration) AS avg_1 +FROM game_sessions +2024-11-29 17:55:02 - [generated in 0.00016s] () +2024-11-29 17:55:02 - ROLLBACK +2024-11-29 17:55:02 - BEGIN (implicit) +2024-11-29 17:55:02 - SELECT game_sessions.start_time AS game_sessions_start_time +FROM game_sessions +2024-11-29 17:55:02 - [generated in 0.00016s] () +2024-11-29 17:55:02 - ROLLBACK +2024-11-29 17:55:17 - BEGIN (implicit) +2024-11-29 17:55:17 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-29 17:55:17 - [generated in 0.00017s] () +2024-11-29 17:55:17 - ROLLBACK +2024-11-29 17:55:27 - BEGIN (implicit) +2024-11-29 17:55:27 - SELECT questions.question_id AS questions_question_id, questions.dog_id AS questions_dog_id, questions.question_text AS questions_question_text, questions.image_url AS questions_image_url, questions.helpful_info AS questions_helpful_info, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions +2024-11-29 17:55:27 - [generated in 0.00016s] () +2024-11-29 17:55:27 - ROLLBACK +2024-11-29 17:55:33 - BEGIN (implicit) +2024-11-29 17:55:33 - SELECT dogs.dog_id AS dogs_dog_id, dogs.breed AS dogs_breed, dogs.characteristics AS dogs_characteristics, dogs.behavior AS dogs_behavior, dogs.care_info AS dogs_care_info, dogs.admin_comments AS dogs_admin_comments +FROM dogs +2024-11-29 17:55:33 - [generated in 0.00015s] () +2024-11-29 17:55:33 - ROLLBACK +2024-11-29 17:55:43 - BEGIN (implicit) +2024-11-29 17:55:43 - SELECT users.user_id AS users_user_id, users.dog_id AS users_dog_id, users.username AS users_username, users.level AS users_level, users.achievement AS users_achievement, auth_1.user_id AS auth_1_user_id, auth_1.login AS auth_1_login, auth_1.password AS auth_1_password +FROM users LEFT OUTER JOIN auth AS auth_1 ON auth_1.user_id = users.user_id +2024-11-29 17:55:43 - [cached since 25.7s ago] () +2024-11-29 17:55:43 - ROLLBACK +2024-11-29 17:55:43 - BEGIN (implicit) +2024-11-29 17:55:43 - SELECT questions.question_id AS questions_question_id, questions.dog_id AS questions_dog_id, questions.question_text AS questions_question_text, questions.image_url AS questions_image_url, questions.helpful_info AS questions_helpful_info, questions.incorrect_attempts AS questions_incorrect_attempts +FROM questions +2024-11-29 17:55:43 - [cached since 16.09s ago] () +2024-11-29 17:55:43 - ROLLBACK +2024-11-29 17:55:43 - BEGIN (implicit) +2024-11-29 17:55:43 - SELECT dogs.dog_id AS dogs_dog_id, dogs.breed AS dogs_breed, dogs.characteristics AS dogs_characteristics, dogs.behavior AS dogs_behavior, dogs.care_info AS dogs_care_info, dogs.admin_comments AS dogs_admin_comments +FROM dogs +2024-11-29 17:55:43 - [cached since 9.602s ago] () +2024-11-29 17:55:43 - ROLLBACK +2024-11-29 17:56:09 - . +2024-11-29 18:06:07 - . +2024-11-29 18:06:20 - BEGIN (implicit) +2024-11-29 18:06:20 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:06:20 - [generated in 0.00026s] ('meow', 'meow123', 1, 0) +2024-11-29 18:06:20 - ROLLBACK +2024-11-29 18:06:45 - BEGIN (implicit) +2024-11-29 18:06:45 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 18:06:45 - [generated in 0.00016s] ('meow', 1, 0) +2024-11-29 18:06:45 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 18:06:45 - [generated in 0.00013s] ('meow', 'meow') +2024-11-29 18:06:45 - COMMIT +2024-11-29 18:06:45 - BEGIN (implicit) +2024-11-29 18:06:45 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 18:06:45 - [generated in 0.00016s] (2,) +2024-11-29 18:06:45 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 18:06:45 - [generated in 0.00018s] (2, None, 'meoww', 1, None) +2024-11-29 18:06:45 - COMMIT +2024-11-29 18:07:00 - BEGIN (implicit) +2024-11-29 18:07:00 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:07:00 - [cached since 39.6s ago] ('meow', 'meow', 1, 0) +2024-11-29 18:07:00 - ROLLBACK +2024-11-29 18:07:08 - BEGIN (implicit) +2024-11-29 18:07:08 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:07:08 - [generated in 0.00019s] () +2024-11-29 18:07:08 - ROLLBACK +2024-11-29 18:08:30 - . +2024-11-29 18:08:39 - BEGIN (implicit) +2024-11-29 18:08:39 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:08:39 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-29 18:08:39 - ROLLBACK +2024-11-29 18:08:42 - BEGIN (implicit) +2024-11-29 18:08:42 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:08:42 - [generated in 0.00028s] () +2024-11-29 18:08:42 - ROLLBACK +2024-11-29 18:13:23 - . +2024-11-29 18:13:40 - BEGIN (implicit) +2024-11-29 18:13:40 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:13:40 - [generated in 0.00024s] ('meow', 'meow', 1, 0) +2024-11-29 18:13:40 - ROLLBACK +2024-11-29 18:15:22 - . +2024-11-29 18:15:35 - BEGIN (implicit) +2024-11-29 18:15:35 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:15:35 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-29 18:15:35 - ROLLBACK +2024-11-29 18:15:40 - BEGIN (implicit) +2024-11-29 18:15:40 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:15:40 - [generated in 0.00026s] () +2024-11-29 18:15:40 - ROLLBACK +2024-11-29 18:15:43 - BEGIN (implicit) +2024-11-29 18:15:43 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:15:43 - [cached since 3.702s ago] () +2024-11-29 18:15:43 - ROLLBACK +2024-11-29 18:16:01 - : 1, 4. +2024-11-29 18:16:03 - BEGIN (implicit) +2024-11-29 18:16:03 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:16:03 - [cached since 22.74s ago] () +2024-11-29 18:16:03 - ROLLBACK +2024-11-29 18:24:04 - . +2024-11-29 18:24:23 - BEGIN (implicit) +2024-11-29 18:24:23 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:24:23 - [generated in 0.00024s] ('meow', 'meow', 1, 0) +2024-11-29 18:24:23 - ROLLBACK +2024-11-29 18:25:04 - BEGIN (implicit) +2024-11-29 18:25:04 - INSERT INTO game_sessions (user_id, level, score, duration, start_time, end_time, health, hunger, sleepiness) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, ?, ?, ?, ?) RETURNING session_id, start_time +2024-11-29 18:25:04 - [generated in 0.00037s] (None, 1, 10, 98, None, 100, 0, 0) +2024-11-29 18:25:04 - COMMIT +2024-11-29 18:25:21 - : 2, 0. +2024-11-29 18:25:23 - BEGIN (implicit) +2024-11-29 18:25:23 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:25:23 - [generated in 0.00019s] () +2024-11-29 18:25:23 - ROLLBACK +2024-11-29 18:26:06 - BEGIN (implicit) +2024-11-29 18:26:06 - INSERT INTO game_sessions (user_id, level, score, duration, start_time, end_time, health, hunger, sleepiness) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, ?, ?, ?, ?) RETURNING session_id, start_time +2024-11-29 18:26:06 - [cached since 61.46s ago] (None, 1, 10, 93, None, 100, 0, 0) +2024-11-29 18:26:06 - COMMIT +2024-11-29 18:26:11 - : 2, 0. +2024-11-29 18:28:10 - . +2024-11-29 18:28:22 - BEGIN (implicit) +2024-11-29 18:28:22 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:28:22 - [generated in 0.00023s] ('meow', 'meow', 1, 0) +2024-11-29 18:28:22 - ROLLBACK +2024-11-29 18:28:25 - BEGIN (implicit) +2024-11-29 18:28:25 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 18:28:25 - [generated in 0.00255s] () +2024-11-29 18:28:25 - ROLLBACK +2024-11-29 18:40:37 - . +2024-11-29 18:41:14 - . +2024-11-29 18:41:22 - BEGIN (implicit) +2024-11-29 18:41:22 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:41:22 - [generated in 0.00024s] ('meow', 'meow', 1, 0) +2024-11-29 18:41:22 - ROLLBACK +2024-11-29 18:44:53 - . +2024-11-29 18:45:04 - BEGIN (implicit) +2024-11-29 18:45:04 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:45:04 - [generated in 0.00019s] ('meow', 'meow', 1, 0) +2024-11-29 18:45:04 - ROLLBACK +2024-11-29 18:49:06 - . +2024-11-29 18:49:17 - BEGIN (implicit) +2024-11-29 18:49:17 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:49:17 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-29 18:49:17 - ROLLBACK +2024-11-29 18:50:31 - . +2024-11-29 18:50:39 - BEGIN (implicit) +2024-11-29 18:50:39 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:50:39 - [generated in 0.00035s] ('meow', 'meow', 1, 0) +2024-11-29 18:50:39 - ROLLBACK +2024-11-29 18:58:44 - . +2024-11-29 18:59:00 - BEGIN (implicit) +2024-11-29 18:59:00 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 18:59:00 - [generated in 0.00026s] ('meow', 'meow', 1, 0) +2024-11-29 18:59:00 - ROLLBACK +2024-11-29 18:59:23 - : 1, 0. +2024-11-29 19:00:41 - . +2024-11-29 19:00:48 - BEGIN (implicit) +2024-11-29 19:00:48 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:00:48 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-29 19:00:48 - ROLLBACK +2024-11-29 19:01:02 - : 1, 0. +2024-11-29 19:10:23 - . +2024-11-29 19:10:32 - BEGIN (implicit) +2024-11-29 19:10:32 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:10:32 - [generated in 0.00022s] ('meow', 'meow', 1, 0) +2024-11-29 19:10:32 - ROLLBACK +2024-11-29 19:12:03 - : 1, 1. +2024-11-29 19:14:42 - . +2024-11-29 19:15:32 - . +2024-11-29 19:15:32 - BEGIN (implicit) +2024-11-29 19:15:32 - PRAGMA main.table_info("auth") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - PRAGMA main.table_info("users") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - PRAGMA main.table_info("dogs") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - PRAGMA main.table_info("questions") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - PRAGMA main.table_info("notifications") +2024-11-29 19:15:32 - [raw sql] () +2024-11-29 19:15:32 - +DROP TABLE notifications +2024-11-29 19:15:32 - [no key 0.00010s] () +2024-11-29 19:15:32 - +DROP TABLE game_sessions +2024-11-29 19:15:32 - [no key 0.00018s] () +2024-11-29 19:15:32 - +DROP TABLE questions +2024-11-29 19:15:32 - [no key 0.00016s] () +2024-11-29 19:15:32 - +DROP TABLE users +2024-11-29 19:15:32 - [no key 0.00017s] () +2024-11-29 19:15:32 - +DROP TABLE dogs +2024-11-29 19:15:32 - [no key 0.00018s] () +2024-11-29 19:15:32 - +DROP TABLE auth +2024-11-29 19:15:32 - [no key 0.00018s] () +2024-11-29 19:15:33 - COMMIT +2024-11-29 19:15:33 - BEGIN (implicit) +2024-11-29 19:15:33 - PRAGMA main.table_info("auth") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("auth") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA main.table_info("users") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("users") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA main.table_info("dogs") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("dogs") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA main.table_info("questions") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("questions") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA main.table_info("notifications") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - PRAGMA temp.table_info("notifications") +2024-11-29 19:15:33 - [raw sql] () +2024-11-29 19:15:33 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:15:33 - [no key 0.00018s] () +2024-11-29 19:15:33 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:15:33 - [no key 0.00017s] () +2024-11-29 19:15:33 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:15:33 - [no key 0.00021s] () +2024-11-29 19:15:33 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:15:33 - [no key 0.00017s] () +2024-11-29 19:15:33 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:15:33 - [no key 0.00017s] () +2024-11-29 19:15:33 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:15:33 - [no key 0.00017s] () +2024-11-29 19:15:33 - COMMIT +2024-11-29 19:16:00 - BEGIN (implicit) +2024-11-29 19:16:00 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:16:00 - [generated in 0.00021s] ('meow', 1, 0) +2024-11-29 19:16:00 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:16:00 - [generated in 0.00015s] ('meow', 'meow') +2024-11-29 19:16:00 - COMMIT +2024-11-29 19:16:00 - BEGIN (implicit) +2024-11-29 19:16:00 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:16:00 - [generated in 0.00015s] (1,) +2024-11-29 19:16:00 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:16:00 - [generated in 0.00018s] (1, None, 'meoww', 1, None) +2024-11-29 19:16:00 - COMMIT +2024-11-29 19:16:14 - BEGIN (implicit) +2024-11-29 19:16:14 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:16:14 - [generated in 0.00017s] ('meow', 'meow', 1, 0) +2024-11-29 19:16:14 - ROLLBACK +2024-11-29 19:18:06 - . +2024-11-29 19:18:06 - BEGIN (implicit) +2024-11-29 19:18:06 - PRAGMA main.table_info("auth") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("users") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("dogs") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("questions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("notifications") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - +DROP TABLE notifications +2024-11-29 19:18:06 - [no key 0.00009s] () +2024-11-29 19:18:06 - +DROP TABLE game_sessions +2024-11-29 19:18:06 - [no key 0.00019s] () +2024-11-29 19:18:06 - +DROP TABLE questions +2024-11-29 19:18:06 - [no key 0.00018s] () +2024-11-29 19:18:06 - +DROP TABLE users +2024-11-29 19:18:06 - [no key 0.00029s] () +2024-11-29 19:18:06 - +DROP TABLE dogs +2024-11-29 19:18:06 - [no key 0.00017s] () +2024-11-29 19:18:06 - +DROP TABLE auth +2024-11-29 19:18:06 - [no key 0.00019s] () +2024-11-29 19:18:06 - COMMIT +2024-11-29 19:18:06 - BEGIN (implicit) +2024-11-29 19:18:06 - PRAGMA main.table_info("auth") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("auth") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("users") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("users") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("dogs") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("dogs") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("questions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("questions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA main.table_info("notifications") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - PRAGMA temp.table_info("notifications") +2024-11-29 19:18:06 - [raw sql] () +2024-11-29 19:18:06 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:18:06 - [no key 0.00012s] () +2024-11-29 19:18:06 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:18:06 - [no key 0.00019s] () +2024-11-29 19:18:07 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:18:07 - [no key 0.00018s] () +2024-11-29 19:18:07 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:18:07 - [no key 0.00018s] () +2024-11-29 19:18:07 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:18:07 - [no key 0.00017s] () +2024-11-29 19:18:07 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:18:07 - [no key 0.00022s] () +2024-11-29 19:18:07 - COMMIT +2024-11-29 19:18:20 - BEGIN (implicit) +2024-11-29 19:18:20 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:18:20 - [generated in 0.00022s] ('meow', 1, 0) +2024-11-29 19:18:20 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:18:20 - [generated in 0.00014s] ('meow', 'meow') +2024-11-29 19:18:20 - COMMIT +2024-11-29 19:18:20 - BEGIN (implicit) +2024-11-29 19:18:20 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:18:20 - [generated in 0.00015s] (1,) +2024-11-29 19:18:20 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:18:20 - [generated in 0.00019s] (1, None, 'meoww', 1, None) +2024-11-29 19:18:20 - COMMIT +2024-11-29 19:18:28 - BEGIN (implicit) +2024-11-29 19:18:28 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:18:28 - [generated in 0.00018s] ('meow', 'meow', 1, 0) +2024-11-29 19:18:28 - ROLLBACK +2024-11-29 19:19:11 - . +2024-11-29 19:19:12 - BEGIN (implicit) +2024-11-29 19:19:12 - PRAGMA main.table_info("auth") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("users") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("dogs") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("questions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("notifications") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - +DROP TABLE notifications +2024-11-29 19:19:12 - [no key 0.00009s] () +2024-11-29 19:19:12 - +DROP TABLE game_sessions +2024-11-29 19:19:12 - [no key 0.00018s] () +2024-11-29 19:19:12 - +DROP TABLE questions +2024-11-29 19:19:12 - [no key 0.00017s] () +2024-11-29 19:19:12 - +DROP TABLE users +2024-11-29 19:19:12 - [no key 0.00016s] () +2024-11-29 19:19:12 - +DROP TABLE dogs +2024-11-29 19:19:12 - [no key 0.00016s] () +2024-11-29 19:19:12 - +DROP TABLE auth +2024-11-29 19:19:12 - [no key 0.00016s] () +2024-11-29 19:19:12 - COMMIT +2024-11-29 19:19:12 - BEGIN (implicit) +2024-11-29 19:19:12 - PRAGMA main.table_info("auth") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("auth") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("users") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("users") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("dogs") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("dogs") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("questions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("questions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA main.table_info("notifications") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - PRAGMA temp.table_info("notifications") +2024-11-29 19:19:12 - [raw sql] () +2024-11-29 19:19:12 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:19:12 - [no key 0.00010s] () +2024-11-29 19:19:12 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:19:12 - [no key 0.00017s] () +2024-11-29 19:19:12 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:19:12 - [no key 0.00029s] () +2024-11-29 19:19:12 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:19:12 - [no key 0.00023s] () +2024-11-29 19:19:12 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:19:12 - [no key 0.00025s] () +2024-11-29 19:19:12 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:19:12 - [no key 0.00018s] () +2024-11-29 19:19:12 - COMMIT +2024-11-29 19:19:23 - BEGIN (implicit) +2024-11-29 19:19:23 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:19:23 - [generated in 0.00018s] ('meow', 1, 0) +2024-11-29 19:19:23 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:19:23 - [generated in 0.00018s] ('meow', 'meow') +2024-11-29 19:19:23 - COMMIT +2024-11-29 19:19:23 - BEGIN (implicit) +2024-11-29 19:19:23 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:19:23 - [generated in 0.00017s] (1,) +2024-11-29 19:19:23 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:19:23 - [generated in 0.00025s] (1, None, 'meoww', 1, None) +2024-11-29 19:19:23 - COMMIT +2024-11-29 19:19:32 - BEGIN (implicit) +2024-11-29 19:19:32 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:19:32 - [generated in 0.00016s] ('meow', 'meow', 1, 0) +2024-11-29 19:19:32 - ROLLBACK +2024-11-29 19:19:42 - : 1, 0. +2024-11-29 19:19:43 - BEGIN (implicit) +2024-11-29 19:19:43 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 19:19:43 - [generated in 0.00017s] () +2024-11-29 19:19:43 - ROLLBACK +2024-11-29 19:19:56 - . +2024-11-29 19:19:56 - BEGIN (implicit) +2024-11-29 19:19:56 - PRAGMA main.table_info("auth") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - PRAGMA main.table_info("users") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - PRAGMA main.table_info("dogs") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - PRAGMA main.table_info("questions") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - PRAGMA main.table_info("notifications") +2024-11-29 19:19:56 - [raw sql] () +2024-11-29 19:19:56 - +DROP TABLE notifications +2024-11-29 19:19:56 - [no key 0.00010s] () +2024-11-29 19:19:57 - +DROP TABLE game_sessions +2024-11-29 19:19:57 - [no key 0.00019s] () +2024-11-29 19:19:57 - +DROP TABLE questions +2024-11-29 19:19:57 - [no key 0.00016s] () +2024-11-29 19:19:57 - +DROP TABLE users +2024-11-29 19:19:57 - [no key 0.00017s] () +2024-11-29 19:19:57 - +DROP TABLE dogs +2024-11-29 19:19:57 - [no key 0.00017s] () +2024-11-29 19:19:57 - +DROP TABLE auth +2024-11-29 19:19:57 - [no key 0.00016s] () +2024-11-29 19:19:57 - COMMIT +2024-11-29 19:19:57 - BEGIN (implicit) +2024-11-29 19:19:57 - PRAGMA main.table_info("auth") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("auth") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA main.table_info("users") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("users") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA main.table_info("dogs") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("dogs") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA main.table_info("questions") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("questions") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA main.table_info("notifications") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - PRAGMA temp.table_info("notifications") +2024-11-29 19:19:57 - [raw sql] () +2024-11-29 19:19:57 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:19:57 - [no key 0.00009s] () +2024-11-29 19:19:57 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:19:57 - [no key 0.00018s] () +2024-11-29 19:19:57 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:19:57 - [no key 0.00017s] () +2024-11-29 19:19:57 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:19:57 - [no key 0.00018s] () +2024-11-29 19:19:57 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:19:57 - [no key 0.00019s] () +2024-11-29 19:19:57 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:19:57 - [no key 0.00026s] () +2024-11-29 19:19:57 - COMMIT +2024-11-29 19:20:12 - BEGIN (implicit) +2024-11-29 19:20:12 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:20:12 - [generated in 0.00025s] ('meow', 1, 0) +2024-11-29 19:20:12 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:20:12 - [generated in 0.00023s] ('meow', 'meow') +2024-11-29 19:20:12 - COMMIT +2024-11-29 19:20:12 - BEGIN (implicit) +2024-11-29 19:20:12 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:20:12 - [generated in 0.00015s] (1,) +2024-11-29 19:20:12 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:20:12 - [generated in 0.00018s] (1, None, 'meoww', 1, None) +2024-11-29 19:20:12 - COMMIT +2024-11-29 19:20:19 - BEGIN (implicit) +2024-11-29 19:20:19 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:20:19 - [generated in 0.00016s] ('meow', 'meow', 1, 0) +2024-11-29 19:20:19 - ROLLBACK +2024-11-29 19:31:45 - . +2024-11-29 19:31:45 - BEGIN (implicit) +2024-11-29 19:31:45 - PRAGMA main.table_info("auth") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("users") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("dogs") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("questions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("notifications") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - +DROP TABLE notifications +2024-11-29 19:31:45 - [no key 0.00009s] () +2024-11-29 19:31:45 - +DROP TABLE game_sessions +2024-11-29 19:31:45 - [no key 0.00019s] () +2024-11-29 19:31:45 - +DROP TABLE questions +2024-11-29 19:31:45 - [no key 0.00017s] () +2024-11-29 19:31:45 - +DROP TABLE users +2024-11-29 19:31:45 - [no key 0.00019s] () +2024-11-29 19:31:45 - +DROP TABLE dogs +2024-11-29 19:31:45 - [no key 0.00019s] () +2024-11-29 19:31:45 - +DROP TABLE auth +2024-11-29 19:31:45 - [no key 0.00017s] () +2024-11-29 19:31:45 - COMMIT +2024-11-29 19:31:45 - BEGIN (implicit) +2024-11-29 19:31:45 - PRAGMA main.table_info("auth") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("auth") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("users") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("users") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("dogs") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("dogs") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("questions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("questions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA main.table_info("notifications") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - PRAGMA temp.table_info("notifications") +2024-11-29 19:31:45 - [raw sql] () +2024-11-29 19:31:45 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:31:45 - [no key 0.00010s] () +2024-11-29 19:31:45 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:31:45 - [no key 0.00016s] () +2024-11-29 19:31:45 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:31:45 - [no key 0.00018s] () +2024-11-29 19:31:45 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:31:45 - [no key 0.00016s] () +2024-11-29 19:31:45 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:31:45 - [no key 0.00024s] () +2024-11-29 19:31:45 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:31:45 - [no key 0.00022s] () +2024-11-29 19:31:45 - COMMIT +2024-11-29 19:31:56 - BEGIN (implicit) +2024-11-29 19:31:56 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:31:56 - [generated in 0.00024s] ('meow', 1, 0) +2024-11-29 19:31:56 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:31:56 - [generated in 0.00015s] ('meow', 'meow') +2024-11-29 19:31:56 - COMMIT +2024-11-29 19:31:56 - BEGIN (implicit) +2024-11-29 19:31:56 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:31:56 - [generated in 0.00016s] (1,) +2024-11-29 19:31:56 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:31:56 - [generated in 0.00018s] (1, None, 'meoww', 1, None) +2024-11-29 19:31:56 - COMMIT +2024-11-29 19:32:04 - BEGIN (implicit) +2024-11-29 19:32:04 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:32:04 - [generated in 0.00016s] ('meow', 'meow', 1, 0) +2024-11-29 19:32:04 - ROLLBACK +2024-11-29 19:33:41 - . +2024-11-29 19:33:41 - BEGIN (implicit) +2024-11-29 19:33:41 - PRAGMA main.table_info("auth") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("users") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("dogs") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("questions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("notifications") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - +DROP TABLE notifications +2024-11-29 19:33:41 - [no key 0.00010s] () +2024-11-29 19:33:41 - +DROP TABLE game_sessions +2024-11-29 19:33:41 - [no key 0.00018s] () +2024-11-29 19:33:41 - +DROP TABLE questions +2024-11-29 19:33:41 - [no key 0.00017s] () +2024-11-29 19:33:41 - +DROP TABLE users +2024-11-29 19:33:41 - [no key 0.00022s] () +2024-11-29 19:33:41 - +DROP TABLE dogs +2024-11-29 19:33:41 - [no key 0.00017s] () +2024-11-29 19:33:41 - +DROP TABLE auth +2024-11-29 19:33:41 - [no key 0.00017s] () +2024-11-29 19:33:41 - COMMIT +2024-11-29 19:33:41 - BEGIN (implicit) +2024-11-29 19:33:41 - PRAGMA main.table_info("auth") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("auth") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("users") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("users") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("dogs") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("dogs") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("questions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("questions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA main.table_info("notifications") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - PRAGMA temp.table_info("notifications") +2024-11-29 19:33:41 - [raw sql] () +2024-11-29 19:33:41 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:33:41 - [no key 0.00016s] () +2024-11-29 19:33:41 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:33:41 - [no key 0.00016s] () +2024-11-29 19:33:41 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:33:41 - [no key 0.00018s] () +2024-11-29 19:33:41 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:33:41 - [no key 0.00016s] () +2024-11-29 19:33:41 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:33:41 - [no key 0.00019s] () +2024-11-29 19:33:41 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:33:41 - [no key 0.00017s] () +2024-11-29 19:33:42 - COMMIT +2024-11-29 19:33:58 - BEGIN (implicit) +2024-11-29 19:33:58 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:33:58 - [generated in 0.00020s] ('meow', 1, 0) +2024-11-29 19:33:58 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:33:58 - [generated in 0.00016s] ('meow', 'meow') +2024-11-29 19:33:58 - COMMIT +2024-11-29 19:33:58 - BEGIN (implicit) +2024-11-29 19:33:58 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:33:58 - [generated in 0.00015s] (1,) +2024-11-29 19:33:58 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:33:58 - [generated in 0.00023s] (1, None, 'meoww', 1, None) +2024-11-29 19:33:58 - COMMIT +2024-11-29 19:34:04 - BEGIN (implicit) +2024-11-29 19:34:04 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:34:04 - [generated in 0.00016s] ('meow', 'meow', 1, 0) +2024-11-29 19:34:04 - ROLLBACK +2024-11-29 19:36:11 - . +2024-11-29 19:36:11 - BEGIN (implicit) +2024-11-29 19:36:11 - PRAGMA main.table_info("auth") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - PRAGMA main.table_info("users") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - PRAGMA main.table_info("dogs") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - PRAGMA main.table_info("questions") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - PRAGMA main.table_info("notifications") +2024-11-29 19:36:11 - [raw sql] () +2024-11-29 19:36:11 - +DROP TABLE notifications +2024-11-29 19:36:11 - [no key 0.00010s] () +2024-11-29 19:36:11 - +DROP TABLE game_sessions +2024-11-29 19:36:11 - [no key 0.00018s] () +2024-11-29 19:36:12 - +DROP TABLE questions +2024-11-29 19:36:12 - [no key 0.00017s] () +2024-11-29 19:36:12 - +DROP TABLE users +2024-11-29 19:36:12 - [no key 0.00017s] () +2024-11-29 19:36:12 - +DROP TABLE dogs +2024-11-29 19:36:12 - [no key 0.00016s] () +2024-11-29 19:36:12 - +DROP TABLE auth +2024-11-29 19:36:12 - [no key 0.00018s] () +2024-11-29 19:36:12 - COMMIT +2024-11-29 19:36:12 - BEGIN (implicit) +2024-11-29 19:36:12 - PRAGMA main.table_info("auth") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("auth") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA main.table_info("users") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("users") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA main.table_info("dogs") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("dogs") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA main.table_info("questions") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("questions") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA main.table_info("notifications") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - PRAGMA temp.table_info("notifications") +2024-11-29 19:36:12 - [raw sql] () +2024-11-29 19:36:12 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:36:12 - [no key 0.00010s] () +2024-11-29 19:36:12 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:36:12 - [no key 0.00017s] () +2024-11-29 19:36:12 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:36:12 - [no key 0.00017s] () +2024-11-29 19:36:12 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:36:12 - [no key 0.00016s] () +2024-11-29 19:36:12 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:36:12 - [no key 0.00017s] () +2024-11-29 19:36:12 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:36:12 - [no key 0.00019s] () +2024-11-29 19:36:12 - COMMIT +2024-11-29 19:36:24 - BEGIN (implicit) +2024-11-29 19:36:24 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:36:24 - [generated in 0.00018s] ('meow', 1, 0) +2024-11-29 19:36:24 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:36:24 - [generated in 0.00016s] ('meow', 'meow') +2024-11-29 19:36:24 - COMMIT +2024-11-29 19:36:24 - BEGIN (implicit) +2024-11-29 19:36:24 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:36:24 - [generated in 0.00016s] (1,) +2024-11-29 19:36:24 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:36:24 - [generated in 0.00017s] (1, None, 'meoww', 1, None) +2024-11-29 19:36:24 - COMMIT +2024-11-29 19:36:31 - BEGIN (implicit) +2024-11-29 19:36:31 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:36:31 - [generated in 0.00016s] ('meow', 'meow', 1, 0) +2024-11-29 19:36:31 - ROLLBACK +2024-11-29 19:37:16 - . +2024-11-29 19:37:16 - BEGIN (implicit) +2024-11-29 19:37:16 - PRAGMA main.table_info("auth") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("users") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("dogs") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("questions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("notifications") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - +DROP TABLE notifications +2024-11-29 19:37:16 - [no key 0.00009s] () +2024-11-29 19:37:16 - +DROP TABLE game_sessions +2024-11-29 19:37:16 - [no key 0.00019s] () +2024-11-29 19:37:16 - +DROP TABLE questions +2024-11-29 19:37:16 - [no key 0.00020s] () +2024-11-29 19:37:16 - +DROP TABLE users +2024-11-29 19:37:16 - [no key 0.00021s] () +2024-11-29 19:37:16 - +DROP TABLE dogs +2024-11-29 19:37:16 - [no key 0.00018s] () +2024-11-29 19:37:16 - +DROP TABLE auth +2024-11-29 19:37:16 - [no key 0.00025s] () +2024-11-29 19:37:16 - COMMIT +2024-11-29 19:37:16 - BEGIN (implicit) +2024-11-29 19:37:16 - PRAGMA main.table_info("auth") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("auth") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("users") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("users") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("dogs") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("dogs") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("questions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("questions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA main.table_info("notifications") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - PRAGMA temp.table_info("notifications") +2024-11-29 19:37:16 - [raw sql] () +2024-11-29 19:37:16 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:37:16 - [no key 0.00030s] () +2024-11-29 19:37:16 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:37:16 - [no key 0.00033s] () +2024-11-29 19:37:17 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:37:17 - [no key 0.00022s] () +2024-11-29 19:37:17 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:37:17 - [no key 0.00025s] () +2024-11-29 19:37:17 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:37:17 - [no key 0.00023s] () +2024-11-29 19:37:17 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:37:17 - [no key 0.00020s] () +2024-11-29 19:37:17 - COMMIT +2024-11-29 19:37:27 - BEGIN (implicit) +2024-11-29 19:37:27 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:37:27 - [generated in 0.00027s] ('meow', 1, 0) +2024-11-29 19:37:27 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:37:27 - [generated in 0.00022s] ('meow', 'meow') +2024-11-29 19:37:27 - COMMIT +2024-11-29 19:37:27 - BEGIN (implicit) +2024-11-29 19:37:27 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:37:27 - [generated in 0.00017s] (1,) +2024-11-29 19:37:27 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:37:27 - [generated in 0.00017s] (1, None, 'meoww', 1, None) +2024-11-29 19:37:27 - COMMIT +2024-11-29 19:37:33 - BEGIN (implicit) +2024-11-29 19:37:33 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:37:33 - [generated in 0.00017s] ('meow', 'meow', 1, 0) +2024-11-29 19:37:33 - ROLLBACK +2024-11-29 19:38:25 - . +2024-11-29 19:38:25 - BEGIN (implicit) +2024-11-29 19:38:25 - PRAGMA main.table_info("auth") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("users") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("dogs") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("questions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("notifications") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - +DROP TABLE notifications +2024-11-29 19:38:25 - [no key 0.00010s] () +2024-11-29 19:38:25 - +DROP TABLE game_sessions +2024-11-29 19:38:25 - [no key 0.00020s] () +2024-11-29 19:38:25 - +DROP TABLE questions +2024-11-29 19:38:25 - [no key 0.00017s] () +2024-11-29 19:38:25 - +DROP TABLE users +2024-11-29 19:38:25 - [no key 0.00017s] () +2024-11-29 19:38:25 - +DROP TABLE dogs +2024-11-29 19:38:25 - [no key 0.00017s] () +2024-11-29 19:38:25 - +DROP TABLE auth +2024-11-29 19:38:25 - [no key 0.00016s] () +2024-11-29 19:38:25 - COMMIT +2024-11-29 19:38:25 - BEGIN (implicit) +2024-11-29 19:38:25 - PRAGMA main.table_info("auth") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("auth") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("users") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("users") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("dogs") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("dogs") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("questions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("questions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA main.table_info("notifications") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - PRAGMA temp.table_info("notifications") +2024-11-29 19:38:25 - [raw sql] () +2024-11-29 19:38:25 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:38:25 - [no key 0.00012s] () +2024-11-29 19:38:25 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:38:25 - [no key 0.00016s] () +2024-11-29 19:38:25 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:38:25 - [no key 0.00018s] () +2024-11-29 19:38:25 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:38:25 - [no key 0.00017s] () +2024-11-29 19:38:25 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:38:25 - [no key 0.00020s] () +2024-11-29 19:38:25 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:38:25 - [no key 0.00017s] () +2024-11-29 19:38:26 - COMMIT +2024-11-29 19:38:37 - BEGIN (implicit) +2024-11-29 19:38:37 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:38:37 - [generated in 0.00022s] ('meow', 1, 0) +2024-11-29 19:38:37 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:38:37 - [generated in 0.00014s] ('meow', 'meow') +2024-11-29 19:38:37 - COMMIT +2024-11-29 19:38:37 - BEGIN (implicit) +2024-11-29 19:38:37 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:38:37 - [generated in 0.00016s] (1,) +2024-11-29 19:38:37 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:38:37 - [generated in 0.00018s] (1, None, 'meoww', 1, None) +2024-11-29 19:38:37 - COMMIT +2024-11-29 19:38:44 - BEGIN (implicit) +2024-11-29 19:38:44 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:38:44 - [generated in 0.00017s] ('meow', 'meow', 1, 0) +2024-11-29 19:38:44 - ROLLBACK +2024-11-29 19:46:13 - . +2024-11-29 19:46:13 - BEGIN (implicit) +2024-11-29 19:46:13 - PRAGMA main.table_info("auth") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - PRAGMA main.table_info("users") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - PRAGMA main.table_info("dogs") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - PRAGMA main.table_info("questions") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - PRAGMA main.table_info("notifications") +2024-11-29 19:46:13 - [raw sql] () +2024-11-29 19:46:13 - +DROP TABLE notifications +2024-11-29 19:46:13 - [no key 0.00041s] () +2024-11-29 19:46:13 - +DROP TABLE game_sessions +2024-11-29 19:46:13 - [no key 0.00017s] () +2024-11-29 19:46:14 - +DROP TABLE questions +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +DROP TABLE users +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +DROP TABLE dogs +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +DROP TABLE auth +2024-11-29 19:46:14 - [no key 0.00016s] () +2024-11-29 19:46:14 - COMMIT +2024-11-29 19:46:14 - BEGIN (implicit) +2024-11-29 19:46:14 - PRAGMA main.table_info("auth") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("auth") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA main.table_info("users") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("users") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA main.table_info("dogs") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("dogs") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA main.table_info("questions") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("questions") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA main.table_info("notifications") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - PRAGMA temp.table_info("notifications") +2024-11-29 19:46:14 - [raw sql] () +2024-11-29 19:46:14 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:46:14 - [no key 0.00010s] () +2024-11-29 19:46:14 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:46:14 - [no key 0.00018s] () +2024-11-29 19:46:14 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:46:14 - [no key 0.00017s] () +2024-11-29 19:46:14 - COMMIT +2024-11-29 19:46:28 - BEGIN (implicit) +2024-11-29 19:46:28 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:46:28 - [generated in 0.00021s] ('meow', 1, 0) +2024-11-29 19:46:28 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:46:28 - [generated in 0.00026s] ('meow', 'meow') +2024-11-29 19:46:28 - COMMIT +2024-11-29 19:46:28 - BEGIN (implicit) +2024-11-29 19:46:28 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:46:28 - [generated in 0.00016s] (1,) +2024-11-29 19:46:28 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:46:28 - [generated in 0.00016s] (1, None, 'meoww', 1, None) +2024-11-29 19:46:28 - COMMIT +2024-11-29 19:46:34 - BEGIN (implicit) +2024-11-29 19:46:34 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:46:34 - [generated in 0.00017s] ('meow', 'meow', 1, 0) +2024-11-29 19:46:34 - ROLLBACK +2024-11-29 19:49:21 - . +2024-11-29 19:49:21 - BEGIN (implicit) +2024-11-29 19:49:21 - PRAGMA main.table_info("auth") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("users") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("dogs") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("questions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("notifications") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - +DROP TABLE notifications +2024-11-29 19:49:21 - [no key 0.00011s] () +2024-11-29 19:49:21 - +DROP TABLE game_sessions +2024-11-29 19:49:21 - [no key 0.00020s] () +2024-11-29 19:49:21 - +DROP TABLE questions +2024-11-29 19:49:21 - [no key 0.00022s] () +2024-11-29 19:49:21 - +DROP TABLE users +2024-11-29 19:49:21 - [no key 0.00018s] () +2024-11-29 19:49:21 - +DROP TABLE dogs +2024-11-29 19:49:21 - [no key 0.00021s] () +2024-11-29 19:49:21 - +DROP TABLE auth +2024-11-29 19:49:21 - [no key 0.00019s] () +2024-11-29 19:49:21 - COMMIT +2024-11-29 19:49:21 - BEGIN (implicit) +2024-11-29 19:49:21 - PRAGMA main.table_info("auth") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("auth") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("users") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("users") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("dogs") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("dogs") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("questions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("questions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("game_sessions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("game_sessions") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA main.table_info("notifications") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - PRAGMA temp.table_info("notifications") +2024-11-29 19:49:21 - [raw sql] () +2024-11-29 19:49:21 - +CREATE TABLE auth ( + user_id INTEGER NOT NULL, + login VARCHAR NOT NULL, + password VARCHAR NOT NULL, + PRIMARY KEY (user_id), + UNIQUE (login) +) + + +2024-11-29 19:49:21 - [no key 0.00011s] () +2024-11-29 19:49:21 - +CREATE TABLE dogs ( + dog_id INTEGER NOT NULL, + breed VARCHAR, + characteristics TEXT, + behavior TEXT, + care_info TEXT, + admin_comments TEXT, + PRIMARY KEY (dog_id) +) + + +2024-11-29 19:49:21 - [no key 0.00017s] () +2024-11-29 19:49:21 - +CREATE TABLE users ( + user_id INTEGER NOT NULL, + dog_id INTEGER, + username VARCHAR NOT NULL, + level INTEGER, + achievement TEXT, + PRIMARY KEY (user_id), + FOREIGN KEY(user_id) REFERENCES auth (user_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:49:21 - [no key 0.00019s] () +2024-11-29 19:49:21 - +CREATE TABLE questions ( + question_id INTEGER NOT NULL, + dog_id INTEGER, + question_text TEXT NOT NULL, + image_url VARCHAR, + helpful_info TEXT, + incorrect_attempts INTEGER, + PRIMARY KEY (question_id), + FOREIGN KEY(dog_id) REFERENCES dogs (dog_id) +) + + +2024-11-29 19:49:21 - [no key 0.00023s] () +2024-11-29 19:49:21 - +CREATE TABLE game_sessions ( + session_id INTEGER NOT NULL, + user_id INTEGER, + level INTEGER NOT NULL, + score INTEGER, + duration INTEGER, + start_time DATETIME, + end_time DATETIME, + health INTEGER, + hunger INTEGER, + sleepiness INTEGER, + PRIMARY KEY (session_id), + CONSTRAINT uix_user_level UNIQUE (user_id, level), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:49:21 - [no key 0.00022s] () +2024-11-29 19:49:21 - +CREATE TABLE notifications ( + notification_id INTEGER NOT NULL, + user_id INTEGER, + message TEXT NOT NULL, + timestamp DATETIME, + is_read BOOLEAN, + PRIMARY KEY (notification_id), + FOREIGN KEY(user_id) REFERENCES users (user_id) +) + + +2024-11-29 19:49:21 - [no key 0.00017s] () +2024-11-29 19:49:21 - COMMIT +2024-11-29 19:50:11 - BEGIN (implicit) +2024-11-29 19:50:11 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? + LIMIT ? OFFSET ? +2024-11-29 19:50:11 - [generated in 0.00039s] ('lubluNikitu', 1, 0) +2024-11-29 19:50:11 - INSERT INTO auth (login, password) VALUES (?, ?) +2024-11-29 19:50:11 - [generated in 0.00038s] ('lubluNikitu', 'meow123') +2024-11-29 19:50:11 - COMMIT +2024-11-29 19:50:11 - BEGIN (implicit) +2024-11-29 19:50:11 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.user_id = ? +2024-11-29 19:50:11 - [generated in 0.00016s] (1,) +2024-11-29 19:50:11 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?) +2024-11-29 19:50:11 - [generated in 0.00020s] (1, None, 'umenyashizazovutNikita', 1, None) +2024-11-29 19:50:11 - COMMIT +2024-11-29 19:50:56 - BEGIN (implicit) +2024-11-29 19:50:56 - SELECT auth.user_id AS auth_user_id, auth.login AS auth_login, auth.password AS auth_password +FROM auth +WHERE auth.login = ? AND auth.password = ? + LIMIT ? OFFSET ? +2024-11-29 19:50:56 - [generated in 0.00016s] ('lubluNikitu', 'meow123', 1, 0) +2024-11-29 19:50:56 - ROLLBACK +2024-11-29 19:52:23 - BEGIN (implicit) +2024-11-29 19:52:23 - SELECT game_sessions.session_id AS game_sessions_session_id, game_sessions.user_id AS game_sessions_user_id, game_sessions.level AS game_sessions_level, game_sessions.score AS game_sessions_score, game_sessions.duration AS game_sessions_duration, game_sessions.start_time AS game_sessions_start_time, game_sessions.end_time AS game_sessions_end_time, game_sessions.health AS game_sessions_health, game_sessions.hunger AS game_sessions_hunger, game_sessions.sleepiness AS game_sessions_sleepiness +FROM game_sessions +WHERE game_sessions.user_id IS NULL +2024-11-29 19:52:23 - [generated in 0.00030s] () +2024-11-29 19:52:23 - ROLLBACK diff --git a/src/main.py b/src/main.py index 92ce414..0bcbf04 100644 --- a/src/main.py +++ b/src/main.py @@ -29,4 +29,4 @@ if __name__ == "__main__": root = Tk() # Создание корневого окна root.overrideredirect(True) # Убираем рамки окна root.geometry("1920x1080") # Устанавливаем размер окна - main() + main() \ No newline at end of file diff --git a/src/tests/database_test.py b/src/tests/database_test.py new file mode 100644 index 0000000..9118675 --- /dev/null +++ b/src/tests/database_test.py @@ -0,0 +1,39 @@ +from database.db_session import get_session, init_db +from database.info.Dogs_table import populate_dogs +from database.info.Questions_table import populate_questions +from database.models import Dogs, Questions + + +def test_data_integrity(): + session = get_session() + try: + # Проверяем, есть ли собаки + dogs = session.query(Dogs).all() + assert len(dogs) > 0, "Таблица Dogs пуста!" + + # Проверяем, есть ли вопросы + questions = session.query(Questions).all() + assert len(questions) > 0, "Таблица Questions пуста!" + + # Проверяем связь вопросов с породами + for question in questions: + assert question.dog_id is not None, f"У вопроса {question.question_id} отсутствует dog_id" + dog = session.query(Dogs).filter_by(dog_id=question.dog_id).first() + assert dog is not None, f"Ссылка на несуществующую собаку в вопросе {question.question_id}" + + print("Все тесты успешно пройдены.") + except AssertionError as e: + print(f"Ошибка теста: {e}") + finally: + session.close() + +if __name__ == "__main__": + # Инициализируем базу данных (пересоздаём таблицы для чистого теста) + init_db(refresh=True) + + # Заполняем таблицы + populate_dogs() + populate_questions() + + # Запускаем тесты + test_data_integrity() diff --git a/src/ui/admin_ui.py b/src/ui/admin_ui.py index 9c79901..627643b 100644 --- a/src/ui/admin_ui.py +++ b/src/ui/admin_ui.py @@ -7,7 +7,7 @@ from config import SETTINGS_IMG from database.db_session import get_session from database.models import Dogs, Questions, Users from src.admin_functions import admin_logging, statistics -from src.utils import clear_frame, feature_in_development # Импортируем общую функцию для очистки фрейма +from src.utils import clear_frame, feature_in_development_admin # Импортируем общую функцию для очистки фрейма from database.db_events import check_user, get_all_users, get_all_questions, get_all_dogs # Конфигурация цветов из config.py @@ -99,18 +99,18 @@ class AdminApp: ("Просмотр таблиц", self.view_tables), ]), ("Управление игровым контентом", [ - ("Создание и настройка уровней", feature_in_development), - ("Настройка параметров собаки", feature_in_development), + ("Создание и настройка уровней", feature_in_development_admin), + ("Настройка параметров собаки", feature_in_development_admin), ]), ("Управление интерфейсом пользователя", [ - ("Добавление подсказок в интерфейс", feature_in_development), + ("Добавление подсказок в интерфейс", feature_in_development_admin), ]), ("Работа с базой знаний", [ - ("Добавление информации", feature_in_development), - ("Редактирование записей", feature_in_development), - ("Удаление записей", feature_in_development), - ("Просмотр базы знаний", feature_in_development), - ("Генерация вопросов", feature_in_development), + ("Добавление информации", feature_in_development_admin), + ("Редактирование записей", feature_in_development_admin), + ("Удаление записей", feature_in_development_admin), + ("Просмотр базы знаний", feature_in_development_admin), + ("Генерация вопросов", feature_in_development_admin), ]), ] diff --git a/src/ui/auth_ui.py b/src/ui/auth_ui.py index cd3eecd..1f586a9 100644 --- a/src/ui/auth_ui.py +++ b/src/ui/auth_ui.py @@ -172,6 +172,17 @@ class DogAcademyApp: self.reg_password_entry = tk.Entry(self.current_frame, show="*", font=FONT) self.reg_password_entry.pack(pady=10) + # Кнопка "Показать пароль" + show_password_button = tk.Button( + self.current_frame, + text="Показать пароль", + bg=BUTTON_COLOR, + fg=BUTTON_TEXT_COLOR, + font=FONT, + command=self.toggle_registration_password, + ) + show_password_button.pack(pady=10) + # Никнейм username_label = tk.Label(self.current_frame, text="Никнейм:", bg=BACKGROUND_COLOR, fg=PRIMARY_COLOR, font=FONT) username_label.pack() diff --git a/src/ui/user_ui/game_ui.py b/src/ui/user_ui/game_ui.py index 1ec7e1c..8eac4d6 100644 --- a/src/ui/user_ui/game_ui.py +++ b/src/ui/user_ui/game_ui.py @@ -4,6 +4,7 @@ import random import logging from database.db_events import get_user_by_id +from database.info.GameSessions_table import save_game_session from src.user_functions.game_logs import setup_logging from config import DOG_CHARACTERS, DONE, BONE, BACKGROUND_GAME from src.utils import clear_frame @@ -41,6 +42,11 @@ class GameUI: self.root.geometry("1920x1080") self.root.configure(bg="#E5E5E5") + # Флаги + self.is_pause_menu_open = False + self.is_victory_screen_open = False + self.is_game_active = False # Для контроля состояния игры + # Привязка клавиш self.root.bind("", self.move_up) self.root.bind("", self.move_down) @@ -248,65 +254,52 @@ class GameUI: self.update_map() def on_escape(self, event): - """Обработчик для нажатия клавиши ESC.""" - self.show_pause_menu() - - def show_pause_menu(self): - """Создание окна паузы.""" - pause_window = tk.Toplevel(self.root) - pause_window.title("Пауза") - pause_window.geometry("400x200") - pause_window.configure(bg="#E5E5E5") - pause_window.grab_set() # Блокируем взаимодействие с основным окном - - # Кнопка "Сохранить и выйти" - save_exit_button = tk.Button( - pause_window, - text="Сохранить и выйти", - font=("Comic Sans MS", 16), - bg="#FF6347", - command=self.save_and_exit - ) - save_exit_button.pack(pady=20) - - # Кнопка "Продолжить" - continue_button = tk.Button( - pause_window, - text="Продолжить", - font=("Comic Sans MS", 16), - bg="#4CAF50", - command=pause_window.destroy - ) - continue_button.pack(pady=20) + """Обработчик для клавиши ESC.""" + if self.map_canvas: # Проверяем, что игрок находится на карте + if self.is_pause_menu_open: + self.resume_game() # Закрываем окно паузы и продолжаем игру + else: + self.show_pause_menu() # Открываем окно паузы def show_pause_menu(self): """Создание окна паузы.""" - pause_window = tk.Toplevel(self.root) - pause_window.title("Пауза") - pause_window.geometry("400x200") - pause_window.configure(bg="#E5E5E5") - pause_window.grab_set() # Блокируем взаимодействие с основным окном + if self.is_pause_menu_open: + return # Если окно паузы уже открыто, ничего не делаем + + self.is_pause_menu_open = True # Устанавливаем флаг + + self.pause_window = tk.Toplevel(self.root) + self.pause_window.title("Пауза") + self.pause_window.geometry("400x200") + self.pause_window.configure(bg="#E5E5E5") + self.pause_window.grab_set() # Блокируем взаимодействие с основным окном # Кнопка "Сохранить и выйти" save_exit_button = tk.Button( - pause_window, + self.pause_window, text="Сохранить и выйти", font=("Comic Sans MS", 16), bg="#FF6347", - command=self.save_and_exit # Этот метод теперь определён + command=self.save_and_exit ) save_exit_button.pack(pady=20) # Кнопка "Продолжить" continue_button = tk.Button( - pause_window, + self.pause_window, text="Продолжить", font=("Comic Sans MS", 16), bg="#4CAF50", - command=pause_window.destroy + command=self.resume_game ) continue_button.pack(pady=20) + def resume_game(self): + """Закрытие окна паузы и продолжение игры.""" + if self.is_pause_menu_open: + self.pause_window.destroy() # Закрываем окно паузы + self.is_pause_menu_open = False # Сбрасываем флаг + def save_and_exit(self): """Сохранение данных и выход в главное меню.""" logging.info("Сохранение прогресса: уровень %d, собрано косточек %d.", self.current_level, self.total_bones) @@ -317,6 +310,9 @@ class GameUI: def update_map(self): """Обновление карты.""" + if self.is_victory_screen_open: # Отключаем обновления, если окно победы открыто + return + self.map_canvas.delete("all") self.draw_grid() @@ -343,16 +339,22 @@ class GameUI: # Условие перехода на следующий уровень target_bones = 10 * (2 ** (self.current_level - 1)) # Геометрическая прогрессия - if self.total_bones >= target_bones: + if self.total_bones >= target_bones and not self.is_victory_screen_open: self.show_victory_screen() def show_victory_screen(self): """Экран победы.""" + if self.is_victory_screen_open: # Проверяем, чтобы не было второго окна + return + + self.is_victory_screen_open = True # Устанавливаем флаг + self.is_game_active = False # Останавливаем движение + victory_window = tk.Toplevel(self.root) victory_window.title("Ура, победа!") victory_window.geometry("800x600") victory_window.configure(bg="#E5E5E5") - victory_window.grab_set() + victory_window.grab_set() # Блокируем взаимодействие с основным окном # Изображение собаки dog_image = Image.open(DOG_CHARACTERS[self.selected_dog]["image"]).resize((200, 200), Image.Resampling.LANCZOS) @@ -384,15 +386,32 @@ class GameUI: # Кнопка перехода на следующий уровень next_level_button = tk.Button( - victory_window, text="Следующий уровень", font=("Comic Sans MS", 16), bg="#4CAF50", + victory_window, + text="Следующий уровень", + font=("Comic Sans MS", 16), + bg="#4CAF50", command=lambda: [victory_window.destroy(), self.start_next_level()] ) - next_level_button.place(relx=0.5, rely=0.75, anchor=tk.CENTER) + next_level_button.place(relx=0.5, rely=0.65, anchor=tk.CENTER) + + # Кнопка выхода в главное меню + exit_button = tk.Button( + victory_window, + text="Выйти в главное меню", + font=("Comic Sans MS", 16), + bg="#FF6347", + command=lambda: [victory_window.destroy(), self.return_to_main_menu()] + ) + exit_button.place(relx=0.5, rely=0.8, anchor=tk.CENTER) + + def return_to_main_menu(self): + """Возврат в главное меню.""" + self.is_victory_screen_open = False # Сбрасываем флаг окна победы + self.return_to_main_menu_callback() # Вызываем колбэк для возврата def start_next_level(self): - """Переход на следующий уровень и сохранение прогресса.""" - # Сохранение прогресса - self.save_progress() + """Переход на следующий уровень.""" + self.save_progress() # Сохраняем прогресс перед переходом на следующий уровень # Переход на следующий уровень self.current_level += 1 @@ -400,19 +419,14 @@ class GameUI: self.start_level(self.current_level) def save_progress(self): - """Сохранение прогресса в базе данных.""" - from database.db_events import save_progress, update_user_dog - from database.db_events import get_user_by_id + """Сохранение игрового процесса в таблицу GameSessions.""" + from datetime import datetime - # Получаем информацию о пользователе - user = get_user_by_id(self.user_id) - if not user: - logging.error(f"Пользователь с ID {self.user_id} не найден в базе данных.") - return # Прерываем выполнение, если пользователь не найден + # Получаем время начала и окончания уровня + duration = self.steps_taken # Время можно рассчитать по шагам или в реальном времени + score = self.total_bones # Количество собранных косточек - # Сохраняем прогресс текущего уровня - save_progress(self.user_id, self.current_level, self.total_bones, 0, 100, 0, 0) + # Сохранение прогресса в базу данных + save_game_session(self.user_id, self.current_level, score, duration, 100, 0, 0) - # Получаем уровень и собаку - dog_id = user.dog_id # Получаем id собаки пользователя - update_user_dog(self.user_id, dog_id) # Сохраняем собаку в профиль + # Также можно сохранять дополнительные параметры, если необходимо (например, здоровье, голод, усталость) \ No newline at end of file diff --git a/src/ui/user_ui/knowledge_ui.py b/src/ui/user_ui/knowledge_ui.py deleted file mode 100644 index 659a2fd..0000000 --- a/src/ui/user_ui/knowledge_ui.py +++ /dev/null @@ -1,34 +0,0 @@ -import tkinter as tk -from src.utils import clear_frame -from database.db_events import get_knowledge_base - - -def knowledge_ui(root): - """Интерфейс базы знаний.""" - clear_frame(root) - - frame = tk.Frame(root, bg="#f8e1e1") - frame.pack(fill=tk.BOTH, expand=True) - - tk.Label(frame, text="База знаний", font=("Comic Sans MS", 30), bg="#f8e1e1").pack(pady=20) - - articles = get_knowledge_base() - for article in articles: - article_frame = tk.Frame(frame, bg="#f8f8f8", bd=2, relief=tk.RIDGE) - article_frame.pack(pady=5, padx=10, fill=tk.X) - - tk.Label(article_frame, text=article.breed, font=("Comic Sans MS", 20), bg="#f8f8f8").pack(side=tk.LEFT, - padx=10) - tk.Button(article_frame, text="Читать", command=lambda a=article: show_article(a)).pack(side=tk.RIGHT, padx=10) - - tk.Button(frame, text="Назад", command=lambda: clear_frame(root), font=("Comic Sans MS", 20)).pack(pady=20) - - -def show_article(article): - """Показать содержимое статьи.""" - top = tk.Toplevel() - top.title(article.breed) - text = tk.Text(top, wrap=tk.WORD) - text.pack(fill=tk.BOTH, expand=True) - text.insert(tk.END, article.content) - text.config(state=tk.DISABLED) diff --git a/src/ui/user_ui/main_menu.py b/src/ui/user_ui/main_menu.py index 4ca53e8..093615f 100644 --- a/src/ui/user_ui/main_menu.py +++ b/src/ui/user_ui/main_menu.py @@ -8,8 +8,6 @@ import math from config import EXIT_BUTTON_WIDTH, EXIT_BUTTON_HEIGHT, BUTTON_COLOR_EXIT from src.ui.user_ui.game_ui import GameUI from src.ui.user_ui.profile_ui import profile_ui -from src.ui.user_ui.shop_ui import shop_ui -from src.ui.user_ui.knowledge_ui import knowledge_ui from src.utils import clear_frame # Пути к изображениям собак @@ -74,7 +72,7 @@ class UserApp: relief=tk.FLAT, padx=20, pady=10, - command=self.show_shop + state=tk.DISABLED # Делаем кнопку некликабельной ) shop_button.pack(side=tk.LEFT, padx=20) @@ -87,7 +85,7 @@ class UserApp: relief=tk.FLAT, padx=20, pady=10, - command=self.show_knowledge + state=tk.DISABLED # Делаем кнопку некликабельной ) knowledge_button.pack(side=tk.LEFT, padx=20) @@ -154,17 +152,7 @@ class UserApp: def show_profile(self): """Показать экран профиля пользователя.""" self.clear_frame() - profile_ui(self.root, self.user_id) # Передаем user_id в profile_ui - - def show_shop(self): - """Показать экран магазина.""" - self.clear_frame() - shop_ui(self.root) - - def show_knowledge(self): - """Показать базу знаний.""" - self.clear_frame() - knowledge_ui(self.root) + profile_ui(self.root, self.user_id, self) # Передаем сам объект self для доступа к show_user_dashboard def clear_frame(self): """Очистить текущий экран.""" @@ -184,4 +172,4 @@ class UserApp: def exit_app(self): """Подтверждение выхода из приложения.""" if messagebox.askyesno("Выход", "Вы уверены, что хотите выйти?"): - self.root.quit() + self.root.quit() \ No newline at end of file diff --git a/src/ui/user_ui/profile_ui.py b/src/ui/user_ui/profile_ui.py index 1eabf61..13ee3af 100644 --- a/src/ui/user_ui/profile_ui.py +++ b/src/ui/user_ui/profile_ui.py @@ -3,7 +3,7 @@ from src.utils import clear_frame from database.db_events import get_user_progress -def profile_ui(root, user_id): +def profile_ui(root, user_id, user_app): """Интерфейс профиля пользователя.""" clear_frame(root) @@ -12,7 +12,7 @@ def profile_ui(root, user_id): tk.Label(frame, text="Профиль", font=("Comic Sans MS", 30), bg="#f8e1e1").pack(pady=20) - # Статистика пользователя + # Получение прогресса пользователя из базы данных progress = get_user_progress(user_id) levels_completed = len(progress) # Считаем количество уровней bones_collected = sum([session.score for session in progress]) # Суммируем все собранные косточки @@ -20,4 +20,12 @@ def profile_ui(root, user_id): stats_text = f"Пройдено уровней: {levels_completed}\nСобрано косточек: {bones_collected}" tk.Label(frame, text=stats_text, font=("Comic Sans MS", 20), bg="#f8e1e1").pack(pady=10) - tk.Button(frame, text="Назад", command=lambda: clear_frame(root), font=("Comic Sans MS", 20)).pack(pady=20) + # Кнопка "Назад" + back_button = tk.Button( + frame, + text="Назад", + command=lambda: [clear_frame(root), user_app.show_user_dashboard()], # Очистить экран и вернуться на главное меню + font=("Comic Sans MS", 20) + ) + back_button.pack(pady=20) + diff --git a/src/ui/user_ui/shop_ui.py b/src/ui/user_ui/shop_ui.py deleted file mode 100644 index 834545e..0000000 --- a/src/ui/user_ui/shop_ui.py +++ /dev/null @@ -1,24 +0,0 @@ -import tkinter as tk -from src.utils import clear_frame -from database.db_events import get_dogs, update_user_dog - - -def shop_ui(root, user_id): - """Интерфейс магазина.""" - clear_frame(root) - - frame = tk.Frame(root, bg="#e5e5e5") - frame.pack(fill=tk.BOTH, expand=True) - - tk.Label(frame, text="Магазин", font=("Comic Sans MS", 30), bg="#e5e5e5").pack(pady=20) - - dogs = get_dogs() # Получить список собак из базы данных - for dog in dogs: - dog_frame = tk.Frame(frame, bg="#f8f8f8", bd=2, relief=tk.RIDGE) - dog_frame.pack(pady=5, padx=10, fill=tk.X) - - tk.Label(dog_frame, text=dog.breed, font=("Comic Sans MS", 20), bg="#f8f8f8").pack(side=tk.LEFT, padx=10) - tk.Button(dog_frame, text="Купить", command=lambda d=dog: update_user_dog(user_id, d.dog_id)).pack( - side=tk.RIGHT, padx=10) - - tk.Button(frame, text="Назад", command=lambda: clear_frame(root), font=("Comic Sans MS", 20)).pack(pady=20) diff --git a/src/utils.py b/src/utils.py index 0fec305..f317965 100644 --- a/src/utils.py +++ b/src/utils.py @@ -2,11 +2,12 @@ import tkinter as tk def clear_frame(frame): - """Удаление всех виджетов из фрейма.""" + """Очистить все виджеты в frame""" for widget in frame.winfo_children(): widget.destroy() -def feature_in_development(frame): + +def feature_in_development_admin(frame): """Сообщение о том, что функционал недоступен.""" clear_frame(frame) # Очистка фрейма перед выводом сообщения tk.Label( @@ -17,6 +18,7 @@ def feature_in_development(frame): font=("Comic Sans MS", 16) ).pack(expand=True) + def show_message(message): """Показать сообщение пользователю""" message_window = tk.Toplevel()