Перейти к содержанию

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