Подключение к postgresql через sqlalchemy. Непонятный момент

Рейтинг: 0Ответов: 1Опубликовано: 01.06.2023

По тренировочному примеру осваиваю FastApi. Создал модели данных в models.py. Далее в терминале

alembic init migrations

в главной папке появился файл alembic.ini

не пойму эту строчку

введите сюда описание изображения

а именно возникают следующие вопросы.

  1. Что делает эта переменная sqlalchemy.url ? Видимо не такой ловкач чтобы найти в документации это
  2. Что делают эти знаки %s ? Если это форматирование строк с помощью оператора %, то должен быть формат файла .py а тут .ini , не понятно что делает в ini файле такой оператор.
  3. Тот же вопрос что и выше, но с @. Что он делает в .ini?

Ответы

▲ 1Принят

Эта переменная задает url подключения к базе данных в виде переменных подстановки. Вероятнее всего, сами значения переменных берутся из файла env.py, чтобы в конечном итоге у вас была строка подключения к базе виде

postgresql://user:password@server/dbname

Это не оператор, это обычный шаблон подстановки, и он вполне себе может находится в .ini-файле.

  • %(NAME)s - говорит о том, что здесь должна быть переменная окружения строкового типа с именем NAME
  • @ - стандартный разделитель пользовательских данных и uri в url.