Веб-версияОткрыть в Telegram

ПостYoyo

18 июля 2023
К
Коробка с питоном
Yoyo В текущих реалиях практически любой сервис использующий реляционную БД не может обойтись без миграций. Так уж сложилось, что в нашем питонячьем мире, в проектах почти всегда можно увидеть ORM (например SQLAlchemy) и пакет, который позволяет управлять миграциями, работающий с конкретной ORM (в случае с Алхимией это alembic). Но иногда попадаются такие проекты, в которых нам не нужна ORM, по разным причинам. В этом случае, для миграций можно использовать yoyo. Yoyo - это простой мигратор схем для нашей БД. Миграции здесь записываются в виде скриптов на SQL или на Python. Сгенерировать папку для миграций и конфиг можно вот так: yoyo init --database sqlite:///mydb.sqlite3 migrations А теперь создадим миграцию: yoyo new Опишем SQL для применения миграции (apply) и для её отката (rollback): from yoyo import step __depends__ = {} steps = [ step( "CREATE TABLE TEST (a int);", "DROP TABLE TEST" ) ] Теперь можно применить миграцию командой yoyo apply и после откатить её командой yoyo rollback. Внутри базы yoyo создает таблицу с логом всех операций (_yoyo_log), таблицу с применёнными миграциями (_yoyo_migration), а так же таблицу yoyo_lock, которая позволяет заблокировать миграции, которые будут идти с нескольких инстансов приложений. Вот такая вот простая и удобная библиотека :) Сайт | Sourcehut | PyPI #библиотека
7 · 832 ·

Рядом в ленте

ККоробка с питономКак запускать синхронные функции в асинхронном роуте FastAPI? Иногда так случается, что приходится использовать синхронный код в асинхронном роуте. Если мы попыККоробка с питономРелиз FastAPI 0.100.0🔥 Себастьян закончил обновление pydantic-а. Теперь можно насладиться звуком ржавчины и приростом скорости при переходе на новую версию Fast
это сообщение
ККоробка с питономGIL скорее всего уберут из Python! Руководящий совет объяснил статус PEP 703 (сделать GIL опциональным). Если кратко, то понятно следующее: — Они намерены приняККоробка с питономПоявился PEP 723, который предлагает "встраивать" pyproject.toml в однофайловые скрипты. Предлагается добавить переменную __pyproject__, которая будет содержать
ККоробка с питономКоробка с питоном@boxwithpython · канал · Технологии
488подписчиков154постов в индексе
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем