sqlite-utils 4.0rc1 вышла с миграциями и вложенными транзакциями
sqlite-utils это набор инструментов CLI и Python-библиотека для удобной работы с SQLite базами данных. Версия 4.0rc1 добавляет долгожданные возможности: поддержку миграций и вложенных транзакций. Это делает sqlite-utils более универсальным решением для небольших и средних приложений.
Ключевые факты
- Выпущена кандидата в релиз sqlite-utils 4.0
- Добавлена поддержка миграций базы данных
- Включена поддержка вложенных транзакций
- Инструмент заметно расширил функциональность
- Можно тестировать перед финальным релизом
Ред. rc1 значит «работает у автора». Список фактов короткий ровно потому, что добавили то, что в любой СУБД лежит из коробки лет двадцать.
Почему это важно
sqlite-utils это популярный инструмент для быстрого прототипирования и работы с SQLite. Миграции и вложенные транзакции это основные возможности любой взрослой базы данных, которых не хватало раньше.
Ред. «Долгожданные» миграции в трекере проекта ждали с открытым тикетом не один год. Важно не то, что завезли, а сколько лет без этого обходились и не умерли.
Кому это важно
Разработчикам на Python, работающим с SQLite. Создателям CLI-приложений и скриптов. Авторам небольших сервисов на FastAPI или Flask, которые используют SQLite для хранения данных.
Ред. Тем, кто давно лепит миграции SQLite руками через ALTER TABLE и свои костыли. Для всех остальных это просто ещё одна минорная строчка в changelog.
Как это применить
Установите rc-версию: pip install sqlite-utils==4.0rc1 или через pipx. Попробуйте новые команды миграций через CLI или используйте новый API из Python-кода. Дайте знать о багах в репозитории.
Ред. «Дайте знать о багах» это вежливая форма «вы и есть QA». Ставьте rc на песочнице, а не на той базе, где лежат деньги.
Можно ли доверять
sqlite-utils это проект Simon Willison, опытного разработчика и эксперта по данным. Проект активно развивается, хорошо документирован и имеет сообщество вокруг себя.
Ред. Аргумент «это же Simon Willison» греет, но к коду не пришивается. Доверяют не имени автора, а тестам и тегу stable, которого тут пока нет.
Риски и подводные камни
Это пререлиз, поэтому API может измениться до финального релиза. Не используйте в production без тестирования. Миграции и транзакции могут работать не так, как в полнофункциональных СУБД.
Ред. Вложенные транзакции в SQLite это savepoint под красивым именем, а не полноценная вложенность; ждать поведения «как в Postgres» значит готовить себе сюрприз.