Есть ли какая-нибудь библиотека или инструмент для выполнения миграции базы данных в python без SQLAlchemy? Я использую базу данных PostgreSQL, и запросы представляют собой необработанный SQL. Я использую psycopg2 для подключения к базе данных.
psycopg2 — это API-интерфейс подключения к базе данных, с psycopg2 вы должны работать с базой данных, используя стандартные команды sql, однако flask-SQLAlchemy — это оболочка ORM, построенная вокруг SQLAlchemy и предоставляющая вам pythonic-интерфейс к базе данных, поэтому, если вы действительно хотите управлять базой данных с помощью python вы должны использовать SQLAlchemy или flask-SQLAlchemy. Фактическая библиотека миграции в python — это alembic, а flask-migrate — это удобная оболочка, созданная поверх alembic.
Я знаю, но я работаю над проектом, который уже не использует SQLAlchemt, и мне нужно выполнить миграцию базы данных. Какие-либо предложения?
вам придется использовать перегонный куб и вручную запускать сценарии миграции.
Если я буду запускать скрипты вручную, какой смысл в перегонном кубе?
alembic генерирует сценарии миграции для вас, он скрывает огромную сложность обновления схемы для существующей таблицы в базе данных. Обновление схемы существующих таблиц в базе данных является очень сложной операцией и требует тщательного планирования для таблиц с большим количеством столбцов, и представьте, если вам приходится делать это часто, это даже громоздко. alembic в сочетании с flask-migrate делает эту задачу очень легкой.
Если ваше приложение использует чистый SQL для запросов к базе данных, не имеет ли смысл также писать свои миграции на чистом SQL? Вероятно, хорошей идеей будет создать таблицу, чтобы отслеживать, какие миграции уже запущены, и создать Python-оболочку, чтобы проверять, какие миграции следует запускать, и запускать только эти миграции, но это кажется достаточно тривиальным для написания. Сами миграции могут быть простыми файлами SQL.
@Zeust the Unoobian Это именно то, что я сделал, и все прошло хорошо. Спасибо за совет.






Короче, "да".
Существует множество возможностей. Тот, который вы выберете, будет зависеть от выполнения некоторой домашней работы, чтобы определить, какой из них лучше всего соответствует вашим потребностям.
Предлагайте, задавая вопросы, на которые можно ответить с помощью поиска Google, более конкретно о вашей ситуации, чтобы помочь отвечающим понять, почему Google не смог ответить на ваш вопрос на первой странице результатов.
«Alembic — это легкий инструмент миграции базы данных для использования с набором инструментов SQLAlchemy Database Toolkit для Python».
вы имеете в виду миграции без использования
flask-migrate?