Application Bootstrap¶
Модуль bootstrap.py отвечает за инициализацию и настройку приложения при старте. Он обеспечивает корректную загрузку конфигурации, инициализацию подключения к базе данных и создание необходимых таблиц.
Основные функции¶
bootstrap() -> Settings¶
Основная функция инициализации приложения.
Выполняет следующие действия: 1. Загружает настройки приложения 2. Инициализирует подключение к базе данных 3. Создает все необходимые таблицы
Возвращает:
- Settings: Загруженные настройки приложения
Исключения:
- ConfigurationError: В случае ошибки загрузки конфигурации
- DatabaseError: При проблемах с инициализацией БД
create_all_tables() -> None¶
Создает все таблицы в базе данных на основе моделей SQLAlchemy.
Исключения:
- DatabaseError: В случае ошибки при создании таблиц
Пример использования¶
from fastapi import FastAPI
from src.bootstrap import bootstrap
app = FastAPI()
@app.on_event("startup")
async def startup_event():
settings = await bootstrap()
# Дополнительная инициализация приложения
Интеграция с FastAPI¶
Модуль предназначен для использования при старте FastAPI-приложения:
from fastapi import FastAPI
from src.bootstrap import bootstrap
app = FastAPI()
@app.on_event("startup")
async def startup_event():
await bootstrap()
Особенности¶
- Асинхронная инициализация: Все операции выполняются асинхронно
- Централизованная настройка: Все настройки загружаются в одном месте
- Безопасность: Обработка ошибок и логирование на всех этапах
- Гибкость: Позволяет легко добавлять новые этапы инициализации
Требования¶
- Загруженные настройки приложения
- Доступ к базе данных
- Установленные зависимости SQLAlchemy