Исправлена работа с базой данных в интерфейсе администратора, добавлен просмотр таблиц

This commit is contained in:
Xatiko 2024-12-06 23:42:59 +03:00
parent 1bbf62f4c4
commit dc442d53e3
10 changed files with 1485 additions and 265 deletions

Binary file not shown.

View file

@ -31,14 +31,14 @@ def create_user(login, password, username):
if session.query(Auth).filter_by(login=login).first():
return False, "Логин уже используется."
# Создаём новую запись в таблице Auth
# Создание новой записи в таблице Auth
new_auth = Auth(login=login, password=password)
session.add(new_auth)
try:
session.commit() # Сохраняем изменения в таблице Auth
session.commit() # Сохранение изменений в таблице Auth
# Создаём новую запись в таблице Users, связываем с только что добавленным Auth
# Создание новой записи в таблице Users, связываем с только что добавленным Auth
new_user = Users(user_id=new_auth.user_id, username=username)
session.add(new_user)
session.commit() # Сохраняем изменения в таблице Users
@ -220,7 +220,7 @@ def get_all_dogs():
"""Получить все записи о собаках."""
session = get_session()
try:
dogs = session.query(Dogs).all()
dogs = session.query(Dogs).all() # Запрос к базе данных для получения всех собак
return dogs
except SQLAlchemyError as e:
print(f"Ошибка при получении собак: {e}")
@ -275,22 +275,33 @@ def update_user_info(user_id, new_login, new_username):
def delete_user(user_id):
"""Удаление пользователя."""
"""Удаление пользователя по ID, включая связанные записи."""
session = get_session()
try:
# Находим пользователя
user = session.query(Users).filter_by(user_id=user_id).first()
if user:
session.delete(user.auth)
session.commit()
return True, "Пользователь удалён."
if not user:
return False, "Пользователь не найден."
# Удаляем запись из Auth
auth = user.auth
if auth:
session.delete(auth)
# Удаляем запись из Users
session.delete(user)
# Фиксируем изменения
session.commit()
return True, "Пользователь успешно удалён."
except SQLAlchemyError as e:
session.rollback()
return False, f"Ошибка при удалении: {e}"
return False, f"Ошибка при удалении пользователя: {e}"
finally:
session.close()
def update_dog_info(dog_id, breed, characteristics):
"""Обновление информации о собаке."""
session = get_session()
@ -339,3 +350,96 @@ def update_user_level(user_id, new_level):
logging.error(f"Ошибка при обновлении уровня пользователя: {e}")
finally:
session.close()
def add_user_to_db(user_data):
"""
Добавление нового пользователя в базу данных.
Создаёт записи в таблицах Auth и Users.
"""
session = get_session()
try:
# Создание записи в таблице Auth
new_auth = Auth(
login=user_data['login'],
password=user_data['password']
)
session.add(new_auth)
session.flush() # Сохраняем, чтобы получить user_id для Users
# Создание записи в таблице Users, связываем с Auth
new_user = Users(
user_id=new_auth.user_id, # Используем внешний ключ
username=user_data['username'],
level=user_data.get('level', 1), # Уровень по умолчанию 1
achievement=user_data.get('achievement', None) # По умолчанию пусто
)
session.add(new_user)
session.commit()
print(f"Пользователь {user_data['username']} успешно добавлен.")
except SQLAlchemyError as e:
session.rollback()
print(f"Ошибка при добавлении пользователя: {e}")
raise # Пробрасываем исключение для обработки
finally:
session.close()
def add_question_to_db(question_data):
session = get_session()
try:
new_question = Questions(**question_data)
session.add(new_question)
session.commit()
print(f"Вопрос успешно добавлен: {question_data['question_text']}")
except SQLAlchemyError as e:
print(f"Ошибка при добавлении вопроса: {e}")
session.rollback()
finally:
session.close()
def add_dog_to_db(dog_data):
session = get_session()
try:
new_dog = Dogs(**dog_data)
session.add(new_dog)
session.commit()
print(f"Собака успешно добавлена: {dog_data['breed']}")
except SQLAlchemyError as e:
print(f"Ошибка при добавлении собаки: {e}")
session.rollback()
finally:
session.close()
def delete_dog(dog_id):
"""Удаление породы собак по ID."""
session = get_session()
try:
dog = session.query(Dogs).filter_by(dog_id=dog_id).first()
if dog:
session.delete(dog)
session.commit()
print(f"Порода с ID {dog_id} успешно удалена.")
return True, "Порода успешно удалена."
return False, "Порода не найдена."
except SQLAlchemyError as e:
session.rollback()
return False, f"Ошибка при удалении: {e}"
finally:
session.close()
def delete_question(question_id):
"""Удаление вопроса по ID."""
session = get_session()
try:
question = session.query(Questions).filter_by(question_id=question_id).first()
if question:
session.delete(question)
session.commit()
return True, "Вопрос успешно удалён."
return False, "Вопрос не найден."
except SQLAlchemyError as e:
session.rollback()
return False, f"Ошибка при удалении: {e}"
finally:
session.close()

View file

@ -14,7 +14,7 @@ Session = sessionmaker(bind=engine, autoflush=True)
current_session = None
def create_session():
"""Создаёт сессию для работы с базой данных."""
"""Создание сессии для работы с базой данных."""
return Session()
def init_db(refresh=False):
@ -26,10 +26,10 @@ def init_db(refresh=False):
if not os.path.exists("database/DogAcademy.db") or refresh:
if refresh:
print("Обновление базы данных: удаление старых таблиц...")
Base.metadata.drop_all(bind=engine) # Удаляем все таблицы
Base.metadata.drop_all(bind=engine) # Удалить все таблицы
print("Создание базы данных и таблиц...")
Base.metadata.create_all(bind=engine) # Создаём таблицы заново
Base.metadata.create_all(bind=engine) # Создать таблицы заново
else:
print("База данных уже существует. Обновление не требуется.")
@ -38,7 +38,7 @@ def init_db(refresh=False):
def get_session():
"""Возвращает сессию для работы с базой данных."""
return Session() # Просто возвращаем объект сессии
return Session()
def close_sessions():
"""Закрытие всех сессий перед выходом из программы."""

View file

@ -11,8 +11,8 @@ class Auth(Base):
login = Column(String, unique=True, nullable=False)
password = Column(String, nullable=False)
# Связь с таблицей Users
user = relationship("Users", back_populates="auth", uselist=False)
user = relationship("Users", back_populates="auth", cascade="all, delete-orphan", uselist=False)
class Users(Base):

View file

@ -23873,3 +23873,942 @@ WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-05 23:04:35 - [generated in 0.00031s] (1, 1, 0)
2024-12-05 23:04:35 - ROLLBACK
2024-12-06 20:30:09 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 20:30:09 - BEGIN (implicit)
2024-12-06 20:30:09 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 20:30:09 - [generated in 0.00044s] (1, 1, 0)
2024-12-06 20:30:09 - ROLLBACK
2024-12-06 21:58:39 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 21:58:39 - BEGIN (implicit)
2024-12-06 21:58:39 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 21:58:39 - [generated in 0.00028s] (1, 1, 0)
2024-12-06 21:58:39 - ROLLBACK
2024-12-06 22:09:04 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:09:04 - BEGIN (implicit)
2024-12-06 22:09:04 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:09:04 - [generated in 0.00031s] (1, 1, 0)
2024-12-06 22:09:04 - ROLLBACK
2024-12-06 22:09:20 - BEGIN (implicit)
2024-12-06 22:09:20 - 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-12-06 22:09:20 - [generated in 0.00026s] ()
2024-12-06 22:09:20 - ROLLBACK
2024-12-06 22:09:47 - BEGIN (implicit)
2024-12-06 22:09:47 - 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-12-06 22:09:47 - [cached since 27.63s ago] ()
2024-12-06 22:09:47 - ROLLBACK
2024-12-06 22:09:55 - BEGIN (implicit)
2024-12-06 22:09:55 - 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-12-06 22:09:55 - [generated in 0.00024s] ()
2024-12-06 22:09:55 - ROLLBACK
2024-12-06 22:19:41 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:19:41 - BEGIN (implicit)
2024-12-06 22:19:41 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:19:41 - [generated in 0.00029s] (1, 1, 0)
2024-12-06 22:19:41 - ROLLBACK
2024-12-06 22:19:57 - BEGIN (implicit)
2024-12-06 22:19:57 - 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-12-06 22:19:57 - [generated in 0.00023s] ()
2024-12-06 22:19:57 - ROLLBACK
2024-12-06 22:20:00 - BEGIN (implicit)
2024-12-06 22:20:00 - 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-12-06 22:20:00 - [generated in 0.00017s] ()
2024-12-06 22:20:00 - ROLLBACK
2024-12-06 22:20:00 - BEGIN (implicit)
2024-12-06 22:20:00 - 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-12-06 22:20:00 - [generated in 0.00018s] ()
2024-12-06 22:20:00 - ROLLBACK
2024-12-06 22:20:10 - BEGIN (implicit)
2024-12-06 22:20:10 - 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-12-06 22:20:10 - [cached since 12.5s ago] ()
2024-12-06 22:20:10 - ROLLBACK
2024-12-06 22:20:10 - BEGIN (implicit)
2024-12-06 22:20:10 - 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-12-06 22:20:10 - [cached since 10.11s ago] ()
2024-12-06 22:20:10 - ROLLBACK
2024-12-06 22:20:10 - BEGIN (implicit)
2024-12-06 22:20:10 - 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-12-06 22:20:10 - [cached since 9.383s ago] ()
2024-12-06 22:20:10 - ROLLBACK
2024-12-06 22:20:13 - BEGIN (implicit)
2024-12-06 22:20: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, 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-12-06 22:20:13 - [cached since 15.86s ago] ()
2024-12-06 22:20:13 - ROLLBACK
2024-12-06 22:20:13 - BEGIN (implicit)
2024-12-06 22:20:13 - 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-12-06 22:20:13 - [cached since 13.47s ago] ()
2024-12-06 22:20:13 - ROLLBACK
2024-12-06 22:20:13 - BEGIN (implicit)
2024-12-06 22:20:13 - 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-12-06 22:20:13 - [cached since 12.75s ago] ()
2024-12-06 22:20:13 - ROLLBACK
2024-12-06 22:20:14 - BEGIN (implicit)
2024-12-06 22:20:14 - 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-12-06 22:20:14 - [cached since 17.3s ago] ()
2024-12-06 22:20:14 - ROLLBACK
2024-12-06 22:20:16 - BEGIN (implicit)
2024-12-06 22:20:16 - 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-12-06 22:20:16 - [cached since 18.95s ago] ()
2024-12-06 22:20:16 - ROLLBACK
2024-12-06 22:20:16 - BEGIN (implicit)
2024-12-06 22:20:16 - 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-12-06 22:20:16 - [cached since 16.56s ago] ()
2024-12-06 22:20:16 - ROLLBACK
2024-12-06 22:20:16 - BEGIN (implicit)
2024-12-06 22:20:16 - 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-12-06 22:20:16 - [cached since 15.83s ago] ()
2024-12-06 22:20:16 - ROLLBACK
2024-12-06 22:33:35 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:33:35 - BEGIN (implicit)
2024-12-06 22:33:35 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:33:35 - [generated in 0.00028s] (1, 1, 0)
2024-12-06 22:33:35 - ROLLBACK
2024-12-06 22:33:52 - BEGIN (implicit)
2024-12-06 22:33:52 - 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-12-06 22:33:53 - [generated in 0.00018s] ()
2024-12-06 22:33:53 - ROLLBACK
2024-12-06 22:33:59 - BEGIN (implicit)
2024-12-06 22:33:59 - 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-12-06 22:33:59 - [generated in 0.00016s] ()
2024-12-06 22:33:59 - ROLLBACK
2024-12-06 22:34:00 - BEGIN (implicit)
2024-12-06 22:34:00 - 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-12-06 22:34:00 - [generated in 0.00015s] ()
2024-12-06 22:34:00 - ROLLBACK
2024-12-06 22:34:03 - BEGIN (implicit)
2024-12-06 22:34: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, 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-12-06 22:34:03 - [cached since 10.46s ago] ()
2024-12-06 22:34:03 - ROLLBACK
2024-12-06 22:34:03 - BEGIN (implicit)
2024-12-06 22:34:03 - 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-12-06 22:34:03 - [cached since 3.564s ago] ()
2024-12-06 22:34:03 - ROLLBACK
2024-12-06 22:34:03 - BEGIN (implicit)
2024-12-06 22:34:03 - 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-12-06 22:34:03 - [cached since 2.499s ago] ()
2024-12-06 22:34:03 - ROLLBACK
2024-12-06 22:34:38 - BEGIN (implicit)
2024-12-06 22:34:38 - 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-12-06 22:34:38 - [cached since 45.41s ago] ()
2024-12-06 22:34:38 - ROLLBACK
2024-12-06 22:34:40 - BEGIN (implicit)
2024-12-06 22:34:40 - 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-12-06 22:34:40 - [cached since 47.35s ago] ()
2024-12-06 22:34:40 - ROLLBACK
2024-12-06 22:34:46 - BEGIN (implicit)
2024-12-06 22:34: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 = ?
LIMIT ? OFFSET ?
2024-12-06 22:34:46 - [generated in 0.00016s] ('1', 1, 0)
2024-12-06 22:34:46 - 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-12-06 22:34:46 - [generated in 0.00018s] (1,)
2024-12-06 22:34:46 - ROLLBACK
2024-12-06 22:34:55 - BEGIN (implicit)
2024-12-06 22:34:55 - 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 = ?
LIMIT ? OFFSET ?
2024-12-06 22:34:55 - [cached since 9.211s ago] ('2', 1, 0)
2024-12-06 22:34:55 - 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-12-06 22:34:55 - [cached since 9.21s ago] (2,)
2024-12-06 22:34:55 - ROLLBACK
2024-12-06 22:35:00 - BEGIN (implicit)
2024-12-06 22:35:00 - 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-12-06 22:35:00 - [cached since 67.38s ago] ()
2024-12-06 22:35:00 - ROLLBACK
2024-12-06 22:37:06 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:37:06 - BEGIN (implicit)
2024-12-06 22:37:06 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:37:06 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 22:37:06 - ROLLBACK
2024-12-06 22:37:18 - BEGIN (implicit)
2024-12-06 22:37:18 - 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-12-06 22:37:18 - [generated in 0.00023s] ()
2024-12-06 22:37:18 - ROLLBACK
2024-12-06 22:37:33 - BEGIN (implicit)
2024-12-06 22:37: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
FROM users
WHERE users.user_id = ?
LIMIT ? OFFSET ?
2024-12-06 22:37:33 - [generated in 0.00018s] ('1', 1, 0)
2024-12-06 22:37:33 - 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-12-06 22:37:33 - [generated in 0.00019s] (1,)
2024-12-06 22:37:33 - 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.steps AS game_sessions_steps, 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
2024-12-06 22:37:33 - [generated in 0.00025s] (1,)
2024-12-06 22:37:33 - SELECT notifications.notification_id AS notifications_notification_id, notifications.user_id AS notifications_user_id, notifications.message AS notifications_message, notifications.timestamp AS notifications_timestamp, notifications.is_read AS notifications_is_read
FROM notifications
WHERE ? = notifications.user_id
2024-12-06 22:37:33 - [generated in 0.00017s] (1,)
2024-12-06 22:37:33 - UPDATE game_sessions SET user_id=? WHERE game_sessions.session_id = ?
2024-12-06 22:37:33 - [generated in 0.00023s] [(None, 1), (None, 2), (None, 3), (None, 4), (None, 7), (None, 8), (None, 9)]
2024-12-06 22:37:33 - DELETE FROM users WHERE users.user_id = ?
2024-12-06 22:37:33 - [generated in 0.00028s] (1,)
2024-12-06 22:37:33 - DELETE FROM auth WHERE auth.user_id = ?
2024-12-06 22:37:33 - [generated in 0.00018s] (1,)
2024-12-06 22:37:33 - COMMIT
2024-12-06 22:37:35 - BEGIN (implicit)
2024-12-06 22:37:35 - 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-12-06 22:37:35 - [cached since 17.45s ago] ()
2024-12-06 22:37:35 - ROLLBACK
2024-12-06 22:37:39 - BEGIN (implicit)
2024-12-06 22:37:39 - 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 = ?
LIMIT ? OFFSET ?
2024-12-06 22:37:39 - [cached since 6.104s ago] ('2', 1, 0)
2024-12-06 22:37:39 - 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-12-06 22:37:39 - [cached since 6.103s ago] (2,)
2024-12-06 22:37:39 - 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.steps AS game_sessions_steps, 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
2024-12-06 22:37:39 - [cached since 6.099s ago] (2,)
2024-12-06 22:37:39 - SELECT notifications.notification_id AS notifications_notification_id, notifications.user_id AS notifications_user_id, notifications.message AS notifications_message, notifications.timestamp AS notifications_timestamp, notifications.is_read AS notifications_is_read
FROM notifications
WHERE ? = notifications.user_id
2024-12-06 22:37:39 - [cached since 6.098s ago] (2,)
2024-12-06 22:37:39 - UPDATE game_sessions SET user_id=? WHERE game_sessions.session_id = ?
2024-12-06 22:37:39 - [cached since 6.096s ago] [(None, 5), (None, 6)]
2024-12-06 22:37:39 - DELETE FROM users WHERE users.user_id = ?
2024-12-06 22:37:39 - [cached since 6.093s ago] (2,)
2024-12-06 22:37:39 - DELETE FROM auth WHERE auth.user_id = ?
2024-12-06 22:37:39 - [cached since 6.092s ago] (2,)
2024-12-06 22:37:39 - COMMIT
2024-12-06 22:37:40 - BEGIN (implicit)
2024-12-06 22:37:40 - 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-12-06 22:37:40 - [cached since 21.7s ago] ()
2024-12-06 22:37:40 - ROLLBACK
2024-12-06 22:40:05 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:40:05 - BEGIN (implicit)
2024-12-06 22:40:05 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:40:05 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 22:40:05 - ROLLBACK
2024-12-06 22:40:17 - BEGIN (implicit)
2024-12-06 22:40: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-12-06 22:40:17 - [generated in 0.00021s] ()
2024-12-06 22:40:17 - ROLLBACK
2024-12-06 22:40:26 - BEGIN (implicit)
2024-12-06 22:40:26 - INSERT INTO auth (login, password) VALUES (?, ?)
2024-12-06 22:40:26 - [generated in 0.00017s] ('qwe', 'qwe')
2024-12-06 22:40:26 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:40:26 - [generated in 0.00023s] (1, None, 'meow', 1, None)
2024-12-06 22:40:26 - COMMIT
2024-12-06 22:40:28 - BEGIN (implicit)
2024-12-06 22:40:28 - 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-12-06 22:40:28 - [cached since 10.83s ago] ()
2024-12-06 22:40:28 - ROLLBACK
2024-12-06 22:45:29 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:45:29 - BEGIN (implicit)
2024-12-06 22:45:29 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:45:29 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 22:45:29 - ROLLBACK
2024-12-06 22:45:42 - BEGIN (implicit)
2024-12-06 22:45:42 - 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-12-06 22:45:42 - [generated in 0.00022s] ()
2024-12-06 22:45:42 - ROLLBACK
2024-12-06 22:46:23 - BEGIN (implicit)
2024-12-06 22:46:23 - INSERT INTO auth (login, password) VALUES (?, ?)
2024-12-06 22:46:23 - [generated in 0.00017s] ('lubluNikitu', 'meow123')
2024-12-06 22:46:23 - INSERT INTO users (user_id, dog_id, username, level, achievement) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:46:23 - [generated in 0.00022s] (2, None, 'umenyashizazovutNikita', 1, None)
2024-12-06 22:46:23 - COMMIT
2024-12-06 22:46:24 - BEGIN (implicit)
2024-12-06 22:46: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-12-06 22:46:24 - [cached since 42.66s ago] ()
2024-12-06 22:46:24 - ROLLBACK
2024-12-06 22:46:38 - BEGIN (implicit)
2024-12-06 22:46:38 - 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-12-06 22:46:38 - [generated in 0.00015s] ()
2024-12-06 22:46:38 - ROLLBACK
2024-12-06 22:47:01 - BEGIN (implicit)
2024-12-06 22:47:01 - INSERT INTO questions (dog_id, question_text, image_url, helpful_info, incorrect_attempts) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:47:01 - [generated in 0.00018s] (8, 'sdfgsdfg', 'asdasd', 'asdasd', 0)
2024-12-06 22:47:01 - COMMIT
2024-12-06 22:47:04 - BEGIN (implicit)
2024-12-06 22:47:04 - 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-12-06 22:47:04 - [cached since 25.59s ago] ()
2024-12-06 22:47:04 - ROLLBACK
2024-12-06 22:47:13 - BEGIN (implicit)
2024-12-06 22:47: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 = ?
LIMIT ? OFFSET ?
2024-12-06 22:47:13 - [generated in 0.00016s] ('15', 1, 0)
2024-12-06 22:47:13 - ROLLBACK
2024-12-06 22:47:21 - BEGIN (implicit)
2024-12-06 22:47:21 - 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-12-06 22:47:21 - [cached since 42.88s ago] ()
2024-12-06 22:47:21 - ROLLBACK
2024-12-06 22:47:25 - BEGIN (implicit)
2024-12-06 22:47:25 - 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 = ?
LIMIT ? OFFSET ?
2024-12-06 22:47:25 - [cached since 12.82s ago] ('15', 1, 0)
2024-12-06 22:47:25 - ROLLBACK
2024-12-06 22:49:33 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:49:33 - BEGIN (implicit)
2024-12-06 22:49:33 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:49:33 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 22:49:33 - ROLLBACK
2024-12-06 22:49:45 - BEGIN (implicit)
2024-12-06 22:49:45 - 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-12-06 22:49:45 - [generated in 0.00022s] ()
2024-12-06 22:49:45 - ROLLBACK
2024-12-06 22:49:47 - BEGIN (implicit)
2024-12-06 22:49:47 - 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
WHERE questions.question_id = ?
LIMIT ? OFFSET ?
2024-12-06 22:49:47 - [generated in 0.00018s] ('15', 1, 0)
2024-12-06 22:49:47 - DELETE FROM questions WHERE questions.question_id = ?
2024-12-06 22:49:47 - [generated in 0.00015s] (15,)
2024-12-06 22:49:47 - COMMIT
2024-12-06 22:49:48 - BEGIN (implicit)
2024-12-06 22:49:48 - 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-12-06 22:49:48 - [cached since 3.203s ago] ()
2024-12-06 22:49:49 - ROLLBACK
2024-12-06 22:49:50 - BEGIN (implicit)
2024-12-06 22:49:50 - 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-12-06 22:49:50 - [generated in 0.00016s] ()
2024-12-06 22:49:50 - ROLLBACK
2024-12-06 22:49:50 - BEGIN (implicit)
2024-12-06 22:49:50 - 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-12-06 22:49:50 - [generated in 0.00029s] ()
2024-12-06 22:49:50 - ROLLBACK
2024-12-06 22:49:50 - BEGIN (implicit)
2024-12-06 22:49:50 - 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-12-06 22:49:50 - [cached since 4.468s ago] ()
2024-12-06 22:49:50 - ROLLBACK
2024-12-06 22:49:54 - BEGIN (implicit)
2024-12-06 22:49:54 - 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-12-06 22:49:54 - [cached since 4.133s ago] ()
2024-12-06 22:49:54 - ROLLBACK
2024-12-06 22:50:15 - BEGIN (implicit)
2024-12-06 22:50:15 - INSERT INTO dogs (breed, characteristics, behavior, care_info, admin_comments) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:50:15 - [generated in 0.00019s] ('hui', 'hui', 'hui', 'hui', 'hui')
2024-12-06 22:50:15 - COMMIT
2024-12-06 22:50:19 - BEGIN (implicit)
2024-12-06 22:50:19 - 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-12-06 22:50:19 - [cached since 29.38s ago] ()
2024-12-06 22:50:19 - ROLLBACK
2024-12-06 22:50:30 - BEGIN (implicit)
2024-12-06 22:50:30 - 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
WHERE dogs.dog_id = ?
LIMIT ? OFFSET ?
2024-12-06 22:50:30 - [generated in 0.00019s] ('8', 1, 0)
2024-12-06 22:50:30 - 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.dog_id
2024-12-06 22:50:30 - [generated in 0.00017s] (8,)
2024-12-06 22:50:30 - 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
WHERE ? = questions.dog_id
2024-12-06 22:50:30 - [generated in 0.00015s] (8,)
2024-12-06 22:50:30 - DELETE FROM dogs WHERE dogs.dog_id = ?
2024-12-06 22:50:30 - [generated in 0.00014s] (8,)
2024-12-06 22:50:30 - COMMIT
2024-12-06 22:50:31 - BEGIN (implicit)
2024-12-06 22:50: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-12-06 22:50:31 - [cached since 41.5s ago] ()
2024-12-06 22:50:31 - ROLLBACK
2024-12-06 22:55:19 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:55:19 - BEGIN (implicit)
2024-12-06 22:55:19 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:55:19 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 22:55:19 - ROLLBACK
2024-12-06 22:55:33 - BEGIN (implicit)
2024-12-06 22:55: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-12-06 22:55:33 - [generated in 0.00017s] ()
2024-12-06 22:55:33 - ROLLBACK
2024-12-06 22:55:35 - BEGIN (implicit)
2024-12-06 22:55:35 - 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-12-06 22:55:35 - [generated in 0.00015s] ()
2024-12-06 22:55:35 - ROLLBACK
2024-12-06 22:55:37 - BEGIN (implicit)
2024-12-06 22:55:37 - 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-12-06 22:55:37 - [generated in 0.00015s] ()
2024-12-06 22:55:37 - ROLLBACK
2024-12-06 22:55:50 - BEGIN (implicit)
2024-12-06 22:55:50 - INSERT INTO dogs (breed, characteristics, behavior, care_info, admin_comments) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:55:50 - [generated in 0.00019s] ('qwe', 'qwe', 'qwe', 'qwe', 'qwe')
2024-12-06 22:55:50 - COMMIT
2024-12-06 22:55:52 - BEGIN (implicit)
2024-12-06 22:55:52 - 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-12-06 22:55:52 - [cached since 14.81s ago] ()
2024-12-06 22:55:52 - ROLLBACK
2024-12-06 22:57:06 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:57:06 - BEGIN (implicit)
2024-12-06 22:57:06 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:57:06 - [generated in 0.00040s] (1, 1, 0)
2024-12-06 22:57:06 - ROLLBACK
2024-12-06 22:57:18 - BEGIN (implicit)
2024-12-06 22:57:18 - 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-12-06 22:57:18 - [generated in 0.00017s] ()
2024-12-06 22:57:18 - ROLLBACK
2024-12-06 22:57:43 - BEGIN (implicit)
2024-12-06 22:57:43 - INSERT INTO questions (dog_id, question_text, image_url, helpful_info, incorrect_attempts) VALUES (?, ?, ?, ?, ?)
2024-12-06 22:57:43 - [generated in 0.00019s] (5, 'qwe', 'qwe', 'qwe', 0)
2024-12-06 22:57:43 - COMMIT
2024-12-06 22:57:48 - BEGIN (implicit)
2024-12-06 22:57:48 - 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-12-06 22:57:48 - [cached since 30.35s ago] ()
2024-12-06 22:57:48 - ROLLBACK
2024-12-06 22:57:55 - BEGIN (implicit)
2024-12-06 22:57:55 - 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
WHERE questions.question_id = ?
LIMIT ? OFFSET ?
2024-12-06 22:57:55 - [generated in 0.00021s] ('15', 1, 0)
2024-12-06 22:57:55 - DELETE FROM questions WHERE questions.question_id = ?
2024-12-06 22:57:55 - [generated in 0.00016s] (15,)
2024-12-06 22:57:55 - COMMIT
2024-12-06 22:57:55 - BEGIN (implicit)
2024-12-06 22:57:55 - 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-12-06 22:57:55 - [cached since 37.42s ago] ()
2024-12-06 22:57:55 - ROLLBACK
2024-12-06 22:58:36 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 22:58:36 - BEGIN (implicit)
2024-12-06 22:58:36 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 22:58:36 - [generated in 0.00040s] (1, 1, 0)
2024-12-06 22:58:36 - ROLLBACK
2024-12-06 22:58:50 - BEGIN (implicit)
2024-12-06 22:58:50 - 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-12-06 22:58:50 - [generated in 0.00018s] ()
2024-12-06 22:58:50 - ROLLBACK
2024-12-06 22:58:51 - BEGIN (implicit)
2024-12-06 22:58:51 - 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-12-06 22:58:51 - [generated in 0.00015s] ()
2024-12-06 22:58:51 - ROLLBACK
2024-12-06 22:58:55 - BEGIN (implicit)
2024-12-06 22:58:55 - 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
WHERE dogs.dog_id = ?
LIMIT ? OFFSET ?
2024-12-06 22:58:55 - [generated in 0.00016s] ('8', 1, 0)
2024-12-06 22:58:55 - 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.dog_id
2024-12-06 22:58:55 - [generated in 0.00017s] (8,)
2024-12-06 22:58:55 - 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
WHERE ? = questions.dog_id
2024-12-06 22:58:55 - [generated in 0.00014s] (8,)
2024-12-06 22:58:55 - DELETE FROM dogs WHERE dogs.dog_id = ?
2024-12-06 22:58:55 - [generated in 0.00021s] (8,)
2024-12-06 22:58:55 - COMMIT
2024-12-06 22:58:57 - BEGIN (implicit)
2024-12-06 22:58:57 - 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-12-06 22:58:57 - [cached since 5.518s ago] ()
2024-12-06 22:58:57 - ROLLBACK
2024-12-06 22:59:02 - BEGIN (implicit)
2024-12-06 22:59:02 - 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-12-06 22:59:02 - [generated in 0.00017s] ()
2024-12-06 22:59:02 - ROLLBACK
2024-12-06 22:59:02 - BEGIN (implicit)
2024-12-06 22:59:02 - 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-12-06 22:59:02 - [cached since 10.59s ago] ()
2024-12-06 22:59:02 - ROLLBACK
2024-12-06 22:59:02 - BEGIN (implicit)
2024-12-06 22:59:02 - 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-12-06 22:59:02 - [cached since 11.64s ago] ()
2024-12-06 22:59:02 - ROLLBACK
2024-12-06 23:00:28 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:00:28 - BEGIN (implicit)
2024-12-06 23:00:28 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:00:28 - [generated in 0.00029s] (1, 1, 0)
2024-12-06 23:00:28 - ROLLBACK
2024-12-06 23:00:39 - BEGIN (implicit)
2024-12-06 23:00:39 - 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-12-06 23:00:39 - [generated in 0.00017s] ()
2024-12-06 23:00:39 - ROLLBACK
2024-12-06 23:00:39 - BEGIN (implicit)
2024-12-06 23:00:39 - 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-12-06 23:00:39 - [generated in 0.00016s] ()
2024-12-06 23:00:39 - ROLLBACK
2024-12-06 23:00:39 - BEGIN (implicit)
2024-12-06 23:00:39 - 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-12-06 23:00:39 - [generated in 0.00014s] ()
2024-12-06 23:00:39 - ROLLBACK
2024-12-06 23:01:09 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:01:09 - BEGIN (implicit)
2024-12-06 23:01:09 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:01:09 - [generated in 0.00034s] (1, 1, 0)
2024-12-06 23:01:09 - ROLLBACK
2024-12-06 23:01:22 - BEGIN (implicit)
2024-12-06 23:01:22 - 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-12-06 23:01:22 - [generated in 0.00027s] ()
2024-12-06 23:01:22 - ROLLBACK
2024-12-06 23:01:22 - BEGIN (implicit)
2024-12-06 23:01:22 - 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-12-06 23:01:22 - [generated in 0.00015s] ()
2024-12-06 23:01:22 - ROLLBACK
2024-12-06 23:01:22 - BEGIN (implicit)
2024-12-06 23:01:22 - 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-12-06 23:01:22 - [generated in 0.00015s] ()
2024-12-06 23:01:22 - ROLLBACK
2024-12-06 23:03:06 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:03:06 - BEGIN (implicit)
2024-12-06 23:03:06 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:03:06 - [generated in 0.00029s] (1, 1, 0)
2024-12-06 23:03:06 - ROLLBACK
2024-12-06 23:03:17 - BEGIN (implicit)
2024-12-06 23:03: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-12-06 23:03:17 - [generated in 0.00023s] ()
2024-12-06 23:03:17 - ROLLBACK
2024-12-06 23:03:19 - BEGIN (implicit)
2024-12-06 23:03: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, 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-12-06 23:03:19 - [cached since 1.727s ago] ()
2024-12-06 23:03:19 - ROLLBACK
2024-12-06 23:03:19 - BEGIN (implicit)
2024-12-06 23:03:19 - 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-12-06 23:03:19 - [generated in 0.00023s] ()
2024-12-06 23:03:19 - ROLLBACK
2024-12-06 23:03:19 - BEGIN (implicit)
2024-12-06 23:03:19 - 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-12-06 23:03:19 - [generated in 0.00024s] ()
2024-12-06 23:03:19 - ROLLBACK
2024-12-06 23:08:18 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:08:18 - BEGIN (implicit)
2024-12-06 23:08:18 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:08:18 - [generated in 0.00031s] (1, 1, 0)
2024-12-06 23:08:18 - ROLLBACK
2024-12-06 23:08:32 - BEGIN (implicit)
2024-12-06 23:08:32 - 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-12-06 23:08:32 - [generated in 0.00017s] ()
2024-12-06 23:08:32 - ROLLBACK
2024-12-06 23:08:32 - BEGIN (implicit)
2024-12-06 23:08:32 - 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-12-06 23:08:32 - [generated in 0.00015s] ()
2024-12-06 23:08:32 - ROLLBACK
2024-12-06 23:08:32 - BEGIN (implicit)
2024-12-06 23:08:32 - 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-12-06 23:08:32 - [generated in 0.00014s] ()
2024-12-06 23:08:32 - ROLLBACK
2024-12-06 23:10:00 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:10:00 - BEGIN (implicit)
2024-12-06 23:10:00 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:10:00 - [generated in 0.00051s] (1, 1, 0)
2024-12-06 23:10:00 - ROLLBACK
2024-12-06 23:10:11 - BEGIN (implicit)
2024-12-06 23: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, 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-12-06 23:10:11 - [generated in 0.00017s] ()
2024-12-06 23:10:11 - ROLLBACK
2024-12-06 23:10:11 - BEGIN (implicit)
2024-12-06 23:10:11 - 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-12-06 23:10:11 - [generated in 0.00014s] ()
2024-12-06 23:10:11 - ROLLBACK
2024-12-06 23:10:11 - BEGIN (implicit)
2024-12-06 23:10:11 - 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-12-06 23:10:11 - [generated in 0.00015s] ()
2024-12-06 23:10:11 - ROLLBACK
2024-12-06 23:16:07 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:16:07 - BEGIN (implicit)
2024-12-06 23:16:07 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:16:07 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 23:16:07 - ROLLBACK
2024-12-06 23:16:19 - BEGIN (implicit)
2024-12-06 23:16: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, 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-12-06 23:16:19 - [generated in 0.00021s] ()
2024-12-06 23:16:19 - ROLLBACK
2024-12-06 23:16:20 - BEGIN (implicit)
2024-12-06 23:16:20 - 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-12-06 23:16:20 - [generated in 0.00017s] ()
2024-12-06 23:16:20 - ROLLBACK
2024-12-06 23:16:21 - BEGIN (implicit)
2024-12-06 23:16:21 - 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-12-06 23:16:21 - [generated in 0.00029s] ()
2024-12-06 23:16:21 - ROLLBACK
2024-12-06 23:16:23 - BEGIN (implicit)
2024-12-06 23:16:23 - 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-12-06 23:16:23 - [cached since 4.861s ago] ()
2024-12-06 23:16:23 - ROLLBACK
2024-12-06 23:16:23 - BEGIN (implicit)
2024-12-06 23:16:23 - 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-12-06 23:16:23 - [cached since 2.612s ago] ()
2024-12-06 23:16:23 - ROLLBACK
2024-12-06 23:16:23 - BEGIN (implicit)
2024-12-06 23:16:23 - 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-12-06 23:16:23 - [cached since 3.351s ago] ()
2024-12-06 23:16:23 - ROLLBACK
2024-12-06 23:16:47 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:16:47 - BEGIN (implicit)
2024-12-06 23:16:47 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:16:47 - [generated in 0.00032s] (1, 1, 0)
2024-12-06 23:16:47 - ROLLBACK
2024-12-06 23:16:59 - BEGIN (implicit)
2024-12-06 23:16:59 - 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-12-06 23:16:59 - [generated in 0.00020s] ()
2024-12-06 23:16:59 - ROLLBACK
2024-12-06 23:16:59 - BEGIN (implicit)
2024-12-06 23:16:59 - 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-12-06 23:16:59 - [generated in 0.00015s] ()
2024-12-06 23:16:59 - ROLLBACK
2024-12-06 23:16:59 - BEGIN (implicit)
2024-12-06 23:16:59 - 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-12-06 23:16:59 - [generated in 0.00025s] ()
2024-12-06 23:16:59 - ROLLBACK
2024-12-06 23:19:08 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:19:08 - BEGIN (implicit)
2024-12-06 23:19:08 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:19:08 - [generated in 0.00031s] (1, 1, 0)
2024-12-06 23:19:08 - ROLLBACK
2024-12-06 23:19:22 - BEGIN (implicit)
2024-12-06 23:19:22 - 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-12-06 23:19:22 - [generated in 0.00019s] ()
2024-12-06 23:19:22 - ROLLBACK
2024-12-06 23:19:22 - BEGIN (implicit)
2024-12-06 23:19:22 - 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-12-06 23:19:22 - [generated in 0.00015s] ()
2024-12-06 23:19:22 - ROLLBACK
2024-12-06 23:19:22 - BEGIN (implicit)
2024-12-06 23:19:22 - 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-12-06 23:19:22 - [generated in 0.00014s] ()
2024-12-06 23:19:22 - ROLLBACK
2024-12-06 23:22:18 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:22:18 - BEGIN (implicit)
2024-12-06 23:22:18 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:22:18 - [generated in 0.00042s] (1, 1, 0)
2024-12-06 23:22:18 - ROLLBACK
2024-12-06 23:22:35 - BEGIN (implicit)
2024-12-06 23:22:35 - 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-12-06 23:22:35 - [generated in 0.00017s] ()
2024-12-06 23:22:35 - ROLLBACK
2024-12-06 23:22:35 - BEGIN (implicit)
2024-12-06 23:22:35 - 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-12-06 23:22:35 - [generated in 0.00017s] ()
2024-12-06 23:22:35 - ROLLBACK
2024-12-06 23:22:35 - BEGIN (implicit)
2024-12-06 23:22:35 - 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-12-06 23:22:35 - [generated in 0.00014s] ()
2024-12-06 23:22:35 - ROLLBACK
2024-12-06 23:29:22 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:29:22 - BEGIN (implicit)
2024-12-06 23:29:22 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:29:22 - [generated in 0.00030s] (1, 1, 0)
2024-12-06 23:29:22 - ROLLBACK
2024-12-06 23:29:36 - BEGIN (implicit)
2024-12-06 23:29:36 - 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-12-06 23:29:36 - [generated in 0.00017s] ()
2024-12-06 23:29:36 - ROLLBACK
2024-12-06 23:29:36 - BEGIN (implicit)
2024-12-06 23:29:36 - 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-12-06 23:29:36 - [generated in 0.00018s] ()
2024-12-06 23:29:36 - ROLLBACK
2024-12-06 23:29:36 - BEGIN (implicit)
2024-12-06 23:29:36 - 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-12-06 23:29:36 - [generated in 0.00016s] ()
2024-12-06 23:29:36 - ROLLBACK
2024-12-06 23:29:52 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:29:52 - BEGIN (implicit)
2024-12-06 23:29:52 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:29:52 - [generated in 0.00029s] (1, 1, 0)
2024-12-06 23:29:52 - ROLLBACK
2024-12-06 23:30:12 - BEGIN (implicit)
2024-12-06 23:30:12 - 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-12-06 23:30:12 - [generated in 0.00019s] ()
2024-12-06 23:30:12 - ROLLBACK
2024-12-06 23:30:12 - BEGIN (implicit)
2024-12-06 23:30:12 - 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-12-06 23:30:12 - [generated in 0.00015s] ()
2024-12-06 23:30:12 - ROLLBACK
2024-12-06 23:30:12 - BEGIN (implicit)
2024-12-06 23:30:12 - 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-12-06 23:30:12 - [generated in 0.00015s] ()
2024-12-06 23:30:12 - ROLLBACK
2024-12-06 23:33:20 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:33:20 - BEGIN (implicit)
2024-12-06 23:33:20 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:33:20 - [generated in 0.00026s] (1, 1, 0)
2024-12-06 23:33:20 - ROLLBACK
2024-12-06 23:35:31 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:35:31 - BEGIN (implicit)
2024-12-06 23:35:31 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:35:31 - [generated in 0.00027s] (1, 1, 0)
2024-12-06 23:35:31 - ROLLBACK
2024-12-06 23:35:44 - BEGIN (implicit)
2024-12-06 23:35:44 - 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-12-06 23:35:44 - [generated in 0.00018s] ()
2024-12-06 23:35:44 - ROLLBACK
2024-12-06 23:35:46 - BEGIN (implicit)
2024-12-06 23:35: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, 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-12-06 23:35:46 - [cached since 1.472s ago] ()
2024-12-06 23:35:46 - ROLLBACK
2024-12-06 23:35:46 - BEGIN (implicit)
2024-12-06 23:35:46 - 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-12-06 23:35:46 - [generated in 0.00014s] ()
2024-12-06 23:35:46 - ROLLBACK
2024-12-06 23:35:46 - BEGIN (implicit)
2024-12-06 23:35:46 - 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-12-06 23:35:46 - [generated in 0.00013s] ()
2024-12-06 23:35:46 - ROLLBACK
2024-12-06 23:37:44 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:37:44 - BEGIN (implicit)
2024-12-06 23:37:44 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:37:44 - [generated in 0.00045s] (1, 1, 0)
2024-12-06 23:37:44 - ROLLBACK
2024-12-06 23:37:57 - BEGIN (implicit)
2024-12-06 23:37:57 - 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-12-06 23:37:57 - [generated in 0.00017s] ()
2024-12-06 23:37:57 - ROLLBACK
2024-12-06 23:38:04 - BEGIN (implicit)
2024-12-06 23:38:04 - 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-12-06 23:38:04 - [generated in 0.00014s] ()
2024-12-06 23:38:04 - ROLLBACK
2024-12-06 23:38:07 - BEGIN (implicit)
2024-12-06 23:38:07 - 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-12-06 23:38:07 - [generated in 0.00018s] ()
2024-12-06 23:38:07 - ROLLBACK
2024-12-06 23:38:10 - BEGIN (implicit)
2024-12-06 23:38:10 - 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-12-06 23:38:10 - [cached since 13.4s ago] ()
2024-12-06 23:38:10 - ROLLBACK
2024-12-06 23:38:10 - BEGIN (implicit)
2024-12-06 23:38:10 - 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-12-06 23:38:10 - [cached since 3.115s ago] ()
2024-12-06 23:38:10 - ROLLBACK
2024-12-06 23:38:10 - BEGIN (implicit)
2024-12-06 23:38:10 - 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-12-06 23:38:10 - [cached since 6.136s ago] ()
2024-12-06 23:38:10 - ROLLBACK
2024-12-06 23:39:04 - Ëîãèðîâàíèå èãðû íà÷àòî.
2024-12-06 23:39:04 - BEGIN (implicit)
2024-12-06 23:39:04 - SELECT anon_1.users_user_id AS anon_1_users_user_id, anon_1.users_dog_id AS anon_1_users_dog_id, anon_1.users_username AS anon_1_users_username, anon_1.users_level AS anon_1_users_level, anon_1.users_achievement AS anon_1_users_achievement, game_sessions_1.session_id AS game_sessions_1_session_id, game_sessions_1.user_id AS game_sessions_1_user_id, game_sessions_1.level AS game_sessions_1_level, game_sessions_1.score AS game_sessions_1_score, game_sessions_1.duration AS game_sessions_1_duration, game_sessions_1.steps AS game_sessions_1_steps, game_sessions_1.start_time AS game_sessions_1_start_time, game_sessions_1.end_time AS game_sessions_1_end_time, game_sessions_1.health AS game_sessions_1_health, game_sessions_1.hunger AS game_sessions_1_hunger, game_sessions_1.sleepiness AS game_sessions_1_sleepiness
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
WHERE users.user_id = ?
LIMIT ? OFFSET ?) AS anon_1 LEFT OUTER JOIN game_sessions AS game_sessions_1 ON anon_1.users_user_id = game_sessions_1.user_id
2024-12-06 23:39:04 - [generated in 0.00038s] (1, 1, 0)
2024-12-06 23:39:04 - ROLLBACK
2024-12-06 23:39:19 - BEGIN (implicit)
2024-12-06 23:39: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, 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-12-06 23:39:19 - [generated in 0.00019s] ()
2024-12-06 23:39:19 - ROLLBACK
2024-12-06 23:39:19 - BEGIN (implicit)
2024-12-06 23:39:19 - 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-12-06 23:39:19 - [generated in 0.00016s] ()
2024-12-06 23:39:19 - ROLLBACK
2024-12-06 23:39:19 - BEGIN (implicit)
2024-12-06 23:39:19 - 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-12-06 23:39:19 - [generated in 0.00014s] ()
2024-12-06 23:39:19 - ROLLBACK

View file

@ -1,4 +0,0 @@
Дата,Тип,Сообщение
2024-11-21,INFO,Система запущена
2024-11-21,ERROR,Ошибка подключения к базе данных
2024-11-21,WARNING,Слабый пароль администратора
1 Дата Тип Сообщение
2 2024-11-21 INFO Система запущена
3 2024-11-21 ERROR Ошибка подключения к базе данных
4 2024-11-21 WARNING Слабый пароль администратора

View file

@ -1,3 +0,0 @@
sqlalchemy
tk
matplotlib>=3.7.0

View file

@ -8,7 +8,8 @@ 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_admin # Импортируем общую функцию для очистки фрейма
from database.db_events import check_user, get_all_users, get_all_questions, get_all_dogs
from database.db_events import check_user, get_all_users, get_all_questions, get_all_dogs, delete_dog, update_dog_info, \
add_question_to_db, add_user_to_db, add_dog_to_db, delete_question, delete_user
# Конфигурация цветов из config.py
BACKGROUND_COLOR = "#403d49"
@ -99,19 +100,12 @@ class AdminApp:
("Просмотр таблиц", self.view_tables),
]),
("Управление игровым контентом", [
("Создание и настройка уровней", feature_in_development_admin),
("Настройка параметров собаки", feature_in_development_admin),
("Создание и настройка уровней", lambda: feature_in_development_admin(self.main_frame)),
("Настройка параметров собаки", lambda: feature_in_development_admin(self.main_frame)),
]),
("Управление интерфейсом пользователя", [
("Добавление подсказок в интерфейс", feature_in_development_admin),
]),
("Работа с базой знаний", [
("Добавление информации", feature_in_development_admin),
("Редактирование записей", feature_in_development_admin),
("Удаление записей", feature_in_development_admin),
("Просмотр базы знаний", feature_in_development_admin),
("Генерация вопросов", feature_in_development_admin),
]),
("Добавление подсказок в интерфейс", lambda: feature_in_development_admin(self.main_frame)),
])
]
# Определяем максимальную ширину текста для настройки ширины меню и кнопок
@ -280,150 +274,349 @@ class AdminApp:
def manage_users(self):
"""Управление пользователями."""
clear_frame(self.main_frame)
tk.Label(self.main_frame, text="Редактирование пользователей", font=("Comic Sans MS", 16)).pack()
users = get_all_users() # Получаем пользователей
tk.Label(self.main_frame, text="Управление пользователями", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
# Кнопка добавления нового пользователя
tk.Button(
self.main_frame,
text="Добавить пользователя",
command=self.open_add_user_window,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Кнопка обновления списка
tk.Button(
self.main_frame,
text="Обновить список",
command=self.manage_users, # Перезагрузка данных
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
users = get_all_users() # Получение списка пользователей
if not users:
tk.Label(self.main_frame, text="Нет пользователей в базе данных.", bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
return
table = ttk.Treeview(self.main_frame, columns=("ID", "Логин", "Имя"), show="headings")
# Отображение данных в таблице
table = ttk.Treeview(self.main_frame, columns=("ID", "Логин", "Имя пользователя", "Уровень"), show="headings")
table.heading("ID", text="ID")
table.heading("Логин", text="Логин")
table.heading("Имя", text="Имя")
table.pack(fill="both", expand=True)
table.heading("Имя пользователя", text="Имя пользователя")
table.heading("Уровень", text="Уровень")
table.pack(fill="both", expand=True, pady=10)
# Очистка старых записей из таблицы
for row in table.get_children():
table.delete(row)
# Добавление данных из базы
for user in users:
table.insert("", "end", values=(user.user_id, user.auth.login, user.username))
table.insert("", "end", values=(user.user_id, user.auth.login, user.username, user.level))
def delete_selected():
selected_item = table.selection()
if not selected_item:
messagebox.showwarning("Удаление", "Выберите пользователя для удаления.")
return
user_id = table.item(selected_item, "values")[0]
success, message = delete_user(user_id)
if success:
messagebox.showinfo("Успех", message)
self.manage_users() # Обновление списка
else:
messagebox.showerror("Ошибка", message)
# Кнопка удаления
tk.Button(
self.main_frame,
text="Удалить выбранного пользователя",
command=delete_selected,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
def manage_questions(self):
"""Управление вопросами."""
clear_frame(self.main_frame)
tk.Label(self.main_frame, text="Управление вопросами", font=("Comic Sans MS", 16)).pack()
questions = get_all_questions() # Получаем вопросы
tk.Label(self.main_frame, text="Управление вопросами", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
# Кнопка добавления нового вопроса
tk.Button(
self.main_frame,
text="Добавить вопрос",
command=self.open_add_question_window,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Кнопка обновления списка
tk.Button(
self.main_frame,
text="Обновить список",
command=self.manage_questions, # Перезагрузка данных
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
questions = get_all_questions() # Получение списка вопросов
if not questions:
tk.Label(self.main_frame, text="Нет вопросов в базе данных.", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack()
return
table = ttk.Treeview(self.main_frame, columns=("ID", "Вопрос", "Ответ"), show="headings")
# Отображение данных в таблице
table = ttk.Treeview(self.main_frame, columns=("ID", "Вопрос", "Полезная информация"), show="headings")
table.heading("ID", text="ID")
table.heading("Вопрос", text="Вопрос")
table.heading("Ответ", text="Ответ")
table.pack(fill="both", expand=True)
table.heading("Полезная информация", text="Полезная информация")
table.pack(fill="both", expand=True, pady=10)
# Очистка таблицы перед заполнением новыми данными
for row in table.get_children():
table.delete(row)
for question in questions:
table.insert("", "end", values=(
question.question_id, question.question_text, question.helpful_info)) # Заполняем таблицу данными
table.insert("", "end", values=(question.question_id, question.question_text, question.helpful_info))
def manage_dogs(self):
"""Управление собаками."""
clear_frame(self.main_frame)
tk.Label(self.main_frame, text="Управление собаками", font=("Comic Sans MS", 16)).pack()
dogs = get_all_dogs() # Получаем список собак
if not dogs:
tk.Label(self.main_frame, text="Нет собак в базе данных.", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack()
def delete_selected():
selected_item = table.selection()
if not selected_item:
messagebox.showwarning("Удаление", "Выберите вопрос для удаления.")
return
table = ttk.Treeview(self.main_frame, columns=("ID", "Порода", "Характеристики"), show="headings")
question_id = table.item(selected_item, "values")[0] # Получение ID вопроса
success, message = delete_question(question_id) # Вызов метода для удаления вопроса
if success:
messagebox.showinfo("Успех", message)
self.manage_questions() # Обновление списка вопросов
else:
messagebox.showerror("Ошибка", message)
# Кнопка удаления
tk.Button(
self.main_frame,
text="Удалить выбранный вопрос",
command=delete_selected,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
def manage_dogs(self):
"""Управление породами собак."""
clear_frame(self.main_frame)
# Заголовок
tk.Label(self.main_frame, text="Управление породами собак", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
# Функция удаления выбранной породы
def delete_selected():
selected_item = table.selection()
if not selected_item:
messagebox.showwarning("Удаление", "Выберите породу для удаления.")
return
dog_id = table.item(selected_item, "values")[0] # ID породы
success, message = delete_dog(dog_id)
if success:
messagebox.showinfo("Успех", message)
self.manage_dogs() # Обновление списка
else:
messagebox.showerror("Ошибка", message)
# Функция редактирования выбранной породы
def edit_selected():
selected_item = table.selection()
if not selected_item:
messagebox.showwarning("Редактирование", "Выберите породу для редактирования.")
return
# Получение данных выбранной породы
dog_data = table.item(selected_item, "values")
# Пример dog_data: ('dog_id', 'breed', 'characteristics', 'behavior', 'care_info', 'admin_comments')
if len(dog_data) < 6:
messagebox.showwarning("Ошибка", "Недостаточно данных для редактирования.")
return
dog_id = dog_data[0]
breed = dog_data[1]
characteristics = dog_data[2]
behavior = dog_data[3]
care_info = dog_data[4] # Дополнительная информация о породе
admin_comments = dog_data[5] # Комментарии администратора
# Вызов функции открытия окна редактирования породы, передавая все необходимые данные
self.open_edit_dog_window(dog_id, breed, characteristics, behavior, care_info, admin_comments)
# Кнопка добавления новой породы
tk.Button(
self.main_frame,
text="Добавить породу",
command=self.open_add_dog_window,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Кнопка обновления списка
tk.Button(
self.main_frame,
text="Обновить список",
command=self.manage_dogs, # Повторный вызов для обновления данных
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Кнопка удаления
tk.Button(
self.main_frame,
text="Удалить выбранную породу",
command=delete_selected,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Кнопка редактирования
tk.Button(
self.main_frame,
text="Редактировать выбранную породу",
command=edit_selected,
bg=BUTTON_COLOR,
fg=TEXT_COLOR
).pack(pady=10)
# Получение данных из базы
dogs = get_all_dogs()
if not dogs:
tk.Label(self.main_frame, text="Нет записей о породах в базе данных.", bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
return
# Создание таблицы
table = ttk.Treeview(self.main_frame, columns=(
"ID", "Порода", "Характеристики", "Поведение", "Информация по уходу", "Комментарии"), show="headings")
table.heading("ID", text="ID")
table.heading("Порода", text="Порода")
table.heading("Характеристики", text="Характеристики")
table.pack(fill="both", expand=True)
table.heading("Поведение", text="Поведение")
table.heading("Информация по уходу", text="Информация по уходу")
table.heading("Комментарии", text="Комментарии")
table.pack(fill="both", expand=True, pady=10)
# Заполнение таблицы данными о породах
for dog in dogs:
table.insert("", "end", values=(dog.dog_id, dog.breed, dog.characteristics)) # Заполняем таблицу данными
table.insert("", "end", values=(
dog.dog_id, dog.breed, dog.characteristics, dog.behavior, dog.care_info, dog.admin_comments))
def open_edit_dog_window(self, dog_id, breed, characteristics, behavior, care_info, admin_comments):
"""Открыть окно редактирования данных о породе собак."""
edit_dog_window = tk.Toplevel(self.root)
edit_dog_window.title("Редактировать данные породы")
edit_dog_window.geometry("500x400")
edit_dog_window.configure(bg=BACKGROUND_COLOR)
fields = {
"Порода": (breed, tk.Entry(edit_dog_window, font=("Comic Sans MS", 12))),
"Характеристики": (characteristics, tk.Entry(edit_dog_window, font=("Comic Sans MS", 12))),
"Поведение": (behavior, tk.Entry(edit_dog_window, font=("Comic Sans MS", 12))),
"Уход": (care_info, tk.Entry(edit_dog_window, font=("Comic Sans MS", 12))),
"Комментарии администратора": (admin_comments, tk.Entry(edit_dog_window, font=("Comic Sans MS", 12))),
}
for idx, (label_text, (value, entry)) in enumerate(fields.items()):
tk.Label(edit_dog_window, text=label_text, bg=BACKGROUND_COLOR, fg=TEXT_COLOR,
font=("Comic Sans MS", 12)).grid(row=idx, column=0, pady=10, padx=10)
entry.insert(0, value)
entry.grid(row=idx, column=1, pady=10, padx=10)
def save_changes():
updated_data = {key: entry.get() for key, (_, entry) in fields.items()}
success, message = update_dog_info(dog_id, updated_data["Порода"], updated_data["Характеристики"])
if success:
messagebox.showinfo("Успех", message)
edit_dog_window.destroy()
self.manage_dogs() # Обновление списка пород
else:
messagebox.showerror("Ошибка", message)
tk.Button(edit_dog_window, text="Сохранить", command=save_changes, bg=BUTTON_COLOR, fg=TEXT_COLOR).grid(
row=len(fields), column=0, pady=20)
tk.Button(edit_dog_window, text="Отмена", command=edit_dog_window.destroy, bg=BUTTON_COLOR, fg=TEXT_COLOR).grid(
row=len(fields), column=1, pady=20)
def view_tables(self):
"""Просмотр таблиц."""
clear_frame(self.main_frame) # Очищаем старое содержимое
self.manage_users() # Отображаем пользователей
self.manage_questions() # Отображаем вопросы
self.manage_dogs() # Отображаем собак
"""Просмотр всех таблиц."""
clear_frame(self.main_frame)
tk.Label(self.main_frame, text="Просмотр всех таблиц", font=("Comic Sans MS", 16), bg=BACKGROUND_COLOR,
fg=TEXT_COLOR).pack()
def open_add_user_window(self):
"""Открыть окно для добавления нового пользователя."""
add_user_window = tk.Toplevel(self.root)
add_user_window.title("Добавить нового пользователя")
add_user_window.geometry("400x300")
add_user_window.configure(bg=BACKGROUND_COLOR)
# Создаём вкладки для отображения таблиц
tab_control = ttk.Notebook(self.main_frame)
tk.Label(add_user_window, text="Логин", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
login_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12))
login_entry.pack(pady=5)
# Таблица пользователей
users_frame = ttk.Frame(tab_control)
tab_control.add(users_frame, text="Пользователи")
users_data = get_all_users()
if users_data:
self.create_table_view(users_frame, users_data, ["user_id", "login", "username", "level"])
else:
tk.Label(users_frame, text="Нет данных о пользователях.", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack()
tk.Label(add_user_window, text="Пароль", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
password_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12), show="*")
password_entry.pack(pady=5)
# Таблица собак
dogs_frame = ttk.Frame(tab_control)
tab_control.add(dogs_frame, text="Породы собак")
dogs_data = get_all_dogs()
if dogs_data:
self.create_table_view(dogs_frame, dogs_data, ["dog_id", "breed", "characteristics", "behavior"])
else:
tk.Label(dogs_frame, text="Нет данных о породах собак.", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack()
tk.Label(add_user_window, text="Имя пользователя", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
username_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12))
username_entry.pack(pady=5)
# Таблица вопросов
questions_frame = ttk.Frame(tab_control)
tab_control.add(questions_frame, text="Вопросы")
questions_data = get_all_questions()
if questions_data:
self.create_table_view(questions_frame, questions_data, ["question_id", "question_text", "helpful_info"])
else:
tk.Label(questions_frame, text="Нет данных о вопросах.", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack()
def save_user():
user_data = {
'login': login_entry.get(),
'password': password_entry.get(),
'username': username_entry.get()
}
add_user_to_db(user_data)
add_user_window.destroy()
tab_control.pack(expand=True, fill="both")
def cancel_add():
add_user_window.destroy()
def create_table_view(self, frame, data, columns):
"""Создание и отображение таблицы на основе данных и столбцов."""
# Создаём таблицу
table = ttk.Treeview(frame, columns=columns, show="headings")
save_button = tk.Button(add_user_window, text="Сохранить", command=save_user, bg=BUTTON_COLOR, fg=TEXT_COLOR)
save_button.pack(pady=20)
# Заголовки таблицы
for col in columns:
table.heading(col, text=col)
table.column(col, anchor="center") # Выравнивание заголовков по центру
cancel_button = tk.Button(add_user_window, text="Отменить", command=cancel_add, bg=BUTTON_COLOR, fg=TEXT_COLOR)
cancel_button.pack(pady=10)
# Заполнение таблицы данными
for row in data:
if isinstance(row, dict): # Если данные представлены в виде словаря
values = [row.get(col, "") for col in columns]
elif hasattr(row, "__dict__"): # Если данные — это объект SQLAlchemy
values = [getattr(row, col, "") for col in columns]
else:
values = row if isinstance(row, (list, tuple)) else []
def open_add_question_window(self):
"""Открыть окно для добавления нового вопроса."""
add_question_window = tk.Toplevel(self.root)
add_question_window.title("Добавить новый вопрос")
add_question_window.geometry("400x300")
add_question_window.configure(bg=BACKGROUND_COLOR)
table.insert("", "end", values=values)
tk.Label(add_question_window, text="ID собаки", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
dog_id_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
dog_id_entry.pack(pady=5)
# Устанавливаем таблицу в интерфейс
table.pack(fill="both", expand=True, pady=10)
tk.Label(add_question_window, text="Вопрос", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
question_text_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
question_text_entry.pack(pady=5)
tk.Label(add_question_window, text="Изображение URL", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
image_url_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
image_url_entry.pack(pady=5)
tk.Label(add_question_window, text="Полезная информация", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
helpful_info_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
helpful_info_entry.pack(pady=5)
def save_question():
question_data = {
'dog_id': int(dog_id_entry.get()),
'question_text': question_text_entry.get(),
'image_url': image_url_entry.get(),
'helpful_info': helpful_info_entry.get()
}
add_question_to_db(question_data)
add_question_window.destroy()
def cancel_add():
add_question_window.destroy()
save_button = tk.Button(add_question_window, text="Сохранить", command=save_question, bg=BUTTON_COLOR, fg=TEXT_COLOR)
save_button.pack(pady=20)
cancel_button = tk.Button(add_question_window, text="Отменить", command=cancel_add, bg=BUTTON_COLOR, fg=TEXT_COLOR)
cancel_button.pack(pady=10)
def open_add_dog_window(self):
def open_add_dog_window(self):
"""Открыть окно для добавления новой собаки."""
add_dog_window = tk.Toplevel(self.root)
add_dog_window.title("Добавить новую собаку")
@ -470,41 +663,88 @@ def open_add_dog_window(self):
cancel_button = tk.Button(add_dog_window, text="Отменить", command=cancel_add, bg=BUTTON_COLOR, fg=TEXT_COLOR)
cancel_button.pack(pady=10)
def add_user_to_db(user_data):
session = get_session()
try:
new_user = Users(**user_data)
session.add(new_user)
session.commit()
print(f"Пользователь {user_data['username']} успешно добавлен.")
except SQLAlchemyError as e:
print(f"Ошибка при добавлении пользователя: {e}")
session.rollback()
finally:
session.close()
def add_question_to_db(question_data):
session = get_session()
try:
new_question = Questions(**question_data)
session.add(new_question)
session.commit()
print(f"Вопрос успешно добавлен: {question_data['question_text']}")
except SQLAlchemyError as e:
print(f"Ошибка при добавлении вопроса: {e}")
session.rollback()
finally:
session.close()
def open_add_user_window(self):
"""Открыть окно для добавления нового пользователя."""
add_user_window = tk.Toplevel(self.root)
add_user_window.title("Добавить нового пользователя")
add_user_window.geometry("400x300")
add_user_window.configure(bg=BACKGROUND_COLOR)
def add_dog_to_db(dog_data):
session = get_session()
tk.Label(add_user_window, text="Логин", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
login_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12))
login_entry.pack(pady=5)
tk.Label(add_user_window, text="Пароль", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
password_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12), show="*")
password_entry.pack(pady=5)
tk.Label(add_user_window, text="Имя пользователя", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
username_entry = tk.Entry(add_user_window, font=("Comic Sans MS", 12))
username_entry.pack(pady=5)
def save_user():
user_data = {
'login': login_entry.get(),
'password': password_entry.get(),
'username': username_entry.get(),
}
try:
new_dog = Dogs(**dog_data)
session.add(new_dog)
session.commit()
print(f"Собака успешно добавлена: {dog_data['breed']}")
except SQLAlchemyError as e:
print(f"Ошибка при добавлении собаки: {e}")
session.rollback()
finally:
session.close()
add_user_to_db(user_data)
messagebox.showinfo("Успех", "Пользователь успешно добавлен.")
add_user_window.destroy()
self.manage_users() # Обновить список пользователей
except Exception as e:
messagebox.showerror("Ошибка", f"Не удалось добавить пользователя: {e}")
def cancel_add():
add_user_window.destroy()
save_button = tk.Button(add_user_window, text="Сохранить", command=save_user, bg=BUTTON_COLOR, fg=TEXT_COLOR)
save_button.pack(pady=20)
cancel_button = tk.Button(add_user_window, text="Отменить", command=cancel_add, bg=BUTTON_COLOR, fg=TEXT_COLOR)
cancel_button.pack(pady=10)
def open_add_question_window(self):
"""Открыть окно для добавления нового вопроса."""
add_question_window = tk.Toplevel(self.root)
add_question_window.title("Добавить новый вопрос")
add_question_window.geometry("400x300")
add_question_window.configure(bg=BACKGROUND_COLOR)
tk.Label(add_question_window, text="ID собаки", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
dog_id_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
dog_id_entry.pack(pady=5)
tk.Label(add_question_window, text="Вопрос", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
question_text_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
question_text_entry.pack(pady=5)
tk.Label(add_question_window, text="Изображение URL", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
image_url_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
image_url_entry.pack(pady=5)
tk.Label(add_question_window, text="Полезная информация", bg=BACKGROUND_COLOR, fg=TEXT_COLOR).pack(pady=10)
helpful_info_entry = tk.Entry(add_question_window, font=("Comic Sans MS", 12))
helpful_info_entry.pack(pady=5)
def save_question():
question_data = {
'dog_id': int(dog_id_entry.get()),
'question_text': question_text_entry.get(),
'image_url': image_url_entry.get(),
'helpful_info': helpful_info_entry.get()
}
add_question_to_db(question_data)
add_question_window.destroy()
def cancel_add():
add_question_window.destroy()
save_button = tk.Button(add_question_window, text="Сохранить", command=save_question, bg=BUTTON_COLOR, fg=TEXT_COLOR)
save_button.pack(pady=20)
cancel_button = tk.Button(add_question_window, text="Отменить", command=cancel_add, bg=BUTTON_COLOR, fg=TEXT_COLOR)
cancel_button.pack(pady=10)

View file

@ -1,43 +0,0 @@
import logging
import time
import tkinter as tk
from src.utils import clear_frame
from database.db_events import save_progress
def handle_checkpoint(obstacle, current_score, root):
"""
Обрабатывает чек-поинт (косточку).
obstacle - данные о текущем препятствии
current_score - текущий счёт
root - корневой элемент
"""
# Пример вопроса
question = "Как ухаживать за собакой?"
correct_answer = "Кормить и гулять"
# Окно для вопроса
question_window = tk.Toplevel(root)
question_window.title("Вопрос")
question_label = tk.Label(question_window, text=question, font=("Comic Sans MS", 14))
question_label.pack(pady=10)
answer_var = tk.StringVar()
answer_entry = tk.Entry(question_window, textvariable=answer_var, font=("Comic Sans MS", 14))
answer_entry.pack(pady=10)
def submit_answer():
nonlocal current_score # Используем nonlocal для изменения current_score в замыканиях
answer = answer_var.get().strip().lower()
if answer == correct_answer.lower():
current_score += 1 # За правильный ответ добавляется 1 косточка
else:
current_score -= 1 # Штраф за неправильный ответ
question_window.destroy()
return current_score # Возвращаем обновленный счёт
submit_button = tk.Button(question_window, text="Ответить", command=submit_answer, font=("Comic Sans MS", 14))
submit_button.pack(pady=10)
return current_score

View file

@ -1,13 +0,0 @@
import random
def generate_map(level):
"""Генерация карты уровня."""
num_obstacles = random.randint(3, 6)
map_data = []
for _ in range(num_obstacles):
map_data.append({
"type": "question",
"difficulty": level,
"position": (random.randint(0, 19), random.randint(0, 10)) # Позиция на сетке
})
return map_data