Задача 1 (из лекции): Создание движка
Цель: создать экземпляр движка для подключения к SQLite базе данных в памяти.
Создайте файл lesson05.py и напишите код, который:
- Импортирует
create_engineизsqlalchemy - Создаёт движок для подключения к SQLite в памяти (
:memory:) - Выводит сообщение об успешном создании движка
Проверка: скрипт должен запускаться без ошибок.
Задача 2 (из лекции): Создание сессии
Цель: создать сессию для взаимодействия с базой данных, используя движок из задачи 1.
Продолжите файл lesson05.py:
- Используйте движок из задачи 1
- Создайте сессию через
Session(engine)как контекстный менеджер - Внутри сессии выведите сообщение «Сессия открыта»
Проверка: скрипт должен запускаться без ошибок, сообщение должно выводиться.
Задача 3: Модель User и добавление данных
Цель: объявить модель, создать таблицу и добавить запись в БД.
Дополните lesson05.py:
- Объявите базовый класс
Base(DeclarativeBase) - Объявите модель
Userс полями:id(primary key),name(String 30),age(Integer) — как в примере лекции - Создайте таблицу через
Base.metadata.create_all(engine) - Через сессию добавьте пользователя
User(name='John Doe', age=30) - Выполните
commit()и выведите id созданного пользователя
Проверка: после запуска в консоли должен появиться id нового пользователя (должно быть 1).
Задача 4: Логирование SQL-запросов
Цель: настроить вывод SQL-запросов в консоль через модуль
logging.
Добавьте в начало lesson05.py (до создания движка):
- Импортируйте модуль
logging - Настройте базовое логирование:
logging.basicConfig(level=logging.INFO) - Получите логгер
'sqlalchemy.engine'и установите ему уровеньINFO
Проверка: при запуске в консоли должны появиться SQL-запросы вида CREATE TABLE и INSERT INTO.
Подсказка: решения всех задач с подробным объяснением — в разделе «Решения».