Backend разработка/Лекция №3/Подключение базы данных к веб-приложению. FastAPI + SQLAlchemy

YOUTUBE · 19.11.2025 06:09

Ключевые темы и таймкоды

Установка и настройка Docker

2:53
  • Установка Docker с официального сайта.
  • Установка Docker Compose для управления контейнерами.

Создание конфигурационного файла и Docker Compose

10:40
  • Создание конфигурационного файла с переменными окружения.
  • Создание Docker Compose для запуска контейнеров.

Создание Docker Compose и подключение к базе данных

15:06
  • Создание Docker Compose с использованием Docker Compose.
  • Подключение к базе данных с использованием Docker Compose и Docker Postgress.

Создание базы данных и подключение к ней

18:51
  • Создание контейнера с базой данных и указание порта для подключения.
  • Подключение к базе данных через порт хоста компьютера.

Создание таблиц и настройка миграции

22:23
  • Создание класса базы данных и описание таблиц.
  • Создание файла миграции для применения изменений в базе данных.

Настройка подключения к базе данных

32:21
  • Инициализация библиотеки для подключения к базе данных.
  • Настройка переменных для подключения к базе данных в файле миграции.

Настройка переменных для подключения к базе данных

38:04
  • Инициализация класса настроек для переопределения переменных.
  • Настройка переменных хоста, порта и драйвера для подключения к базе данных.

Создание и подключение к базе данных

41:23
  • Создание функции для работы с настройками и подключение к базе данных.
  • Использование конструктора для создания переменных и подключения к базе данных.

Миграция и обновление базы данных

52:39
  • Использование функции автоматической генерации миграции для обновления базы данных.
  • Применение миграции для обновления базы данных и создания новых таблиц.

Работа с пользователями и соединениями

1:01:48
  • Создание соединения с базой данных и создание сессии для работы с пользователями.
  • Создание энджена для управления соединениями и взаимодействия с базой данных.

Создание асинхронных подключений

1:05:01
  • Создание класса "сашин менеджер" для управления асинхронными подключениями и сессиями.
  • Использование метода "инит" для создания объекта сессии и передачи его в класс "сашин менеджер".

Синхронный контекстный менеджер

1:16:13
  • Создание функции, которая использует синхронный контекстный менеджер для получения объекта сессии.
  • Использование функции для работы с сессией в роутере приложения.

Импорт и использование асинхронных функций

1:23:46
  • Импорт асинхронных функций из базы данных и использование их в роутере приложения.
  • Демонстрация работы с асинхронными функциями в роутере приложения.

Создание пользователя

1:31:24
  • Импортируем сессию и создаем объект пользователя.
  • Используем метод форм форм для создания модели из объекта.

Удаление пользователя

1:36:35
  • Импортируем сессию и удаляем пользователя.
  • Используем метод удаления для изменения данных и возврата значения измененных строк.

Создание пользователя с использованием сессии

1:42:35
  • Импортируем сессию и создаем пользователя с использованием параметров объекта.
  • Используем метод пост для добавления пользователя в базу данных.

Обновление пользователя

1:53:02
  • Импортируем сессию и обновляем пользователя с использованием параметров объекта.
  • Используем метод обновление для изменения данных пользователя и сохранения изменений в базе данных.

Работа с базой данных и миграциями

1:58:27
  • Обсуждение работы с базой данных и миграциями, включая использование локальных тайм зон и управление временными данными.
  • Демонстрация работы с таблицей пользователей и добавлением новых полей.

Связь один-ко-многим и создание таблицы уведомлений

2:07:34
  • Создание связи один-ко-многим между пользователями и уведомлениями, добавление новых полей и создание таблицы уведомлений.
  • Демонстрация работы с таблицей уведомлений и создание методов для работы с ней.

Улучшение возврата пользователя и создание вложенного объекта

2:22:14
  • Улучшение возврата пользователя, добавление возможности доступа к объекту уведомлений через вложенный объект.
  • Создание класса экстен юзер, наследуемого от юзер шемы, и класса лист модифик схемы.

Создание вложенной схемы данных

2:24:13
  • В видео автор демонстрирует создание вложенной схемы данных с использованием связанных таблиц.
  • Он объясняет, что для этого необходимо использовать явное связывание таблиц и использовать метод update_rev для обновления связанных данных.

Работа с уведомлениями

2:26:12
  • Автор добавляет в приложение метод для работы с уведомлениями и показывает, как использовать его для отображения уведомлений.
  • Он также объясняет, что в дополнительных материалах будут рассмотрены примеры использования инъекций и меди для работы с уведомлениями.

Расширение приложения

2:27:45
  • Автор продолжает расширять приложение, добавляя работу с авторизацией пользователей и проверку доступа к приложению.
  • Он также планирует рассмотреть возможность упаковки приложения в докер и использование отдельных классов для работы с данными.