Возможно ли в приложении FastAPI при помощи SQL запроса создать базу данных, если такая база не создана? Написать пример кода
Привет, меня зовут Максим и я хотел бы рассказать вам о том, как можно создать базу данных при помощи SQL запроса в приложении FastAPI. FastAPI ー это быстрый и современный фреймворк для создания веб-приложений на Python. Он предоставляет удобные инструменты для работы с базами данных, в т.ч. и возможность создавать их при необходимости.
Для начала, нам понадобится установить две важные библиотеки⁚ fastapi и sqlalchemy. Вы можете сделать это при помощи команды⁚
pip install fastapi sqlalchemy
После установки библиотек, давайте создадим простой пример приложения FastAPI, которое будет использовать SQL запрос для создания базы данных, если она еще не существует.
Создайте новый Python файл и добавьте следующий код⁚
from fastapi import FastAPI
from sqlalchemy import create_engine, text
app FastAPI
# Создаем подключение к базе данных SQLite
engine create_engine('sqlite:///mydatabase.db', echoTrue)
# Создаем таблицу в базе данных, если она не существует
@app.on_event(″startup″)
async def startup⁚
async with engine;begin as conn⁚
await conn.run_sync(lambda⁚ engine.execute(text('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
email TEXT
)
''')))
# Обработчик корневого маршрута
@app.get(″/")
async def root⁚
return {″message″⁚ ″Пример приложения FastAPI с SQL запросом для создания базы данных при необходимости!″}
Теперь сохраните файл с расширением .py и запустите его командой⁚
uvicorn main⁚app --reload
Поздравляю! Вы только что создали простое веб-приложение FastAPI, которое использует SQL запрос для создания базы данных, если она еще не создана. Теперь вы можете открыть браузер и перейти по адресу http://localhost:8000, чтобы увидеть результат.
{
″message″⁚ ″Пример приложения FastAPI с SQL запросом для создания базы данных при необходимости!″
}
Если вы проверите папку, в которой находится ваш файл с кодом, вы увидите, что там также автоматически создан файл mydatabase.db. Это и есть наша база данных SQLite, созданная при помощи SQL запроса.
Надеюсь, этот пример был полезным для вас. Удачи в создании ваших собственных приложений на базе FastAPI!