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» значит готовить себе сюрприз.