sqlite-utils 4.0rc1がマイグレーションとネストされたトランザクションを追加
サマリー
sqlite-utils 4.0rc1がリリースされ、データベースマイグレーションとネストされたトランザクションのサポートが追加されました。これにより、SQLiteデータベースの操作がさらに便利になります。新機能を試して、フィードバックを提供してください。
本文
sqlite-utilsは、SQLiteデータベースを操作するためのPythonライブラリとCLIツールを統合したものです。Pythonのデフォルトのsqlite3パッケージの上に、複雑なテーブル変換やJSONデータからの自動テーブル作成など、幅広い高レベルの操作を提供します。sqlite-utils v4の最初のリリース候補であるsqlite-utils 4.0rc1をリリースしました。このメジャーバージョンのアップデートは、いくつかの(軽微な)後方互換性のない変更を示しており、安定版リリースにコミットする前に、皆さんに試してもらいたいと思っています。
新機能: マイグレーション
このRCでは、前の4.0アルファと比較して2つの重要な新機能が追加されました。最初はデータベースマイグレーションのサポートです。これは完全に新しい実装ではなく、数年前にリリースしたsqlite-migrateパッケージの少し修正されたポートです。このパッケージは時間が経つにつれてその実力を証明していると思うので、今回はsqlite-utilsに直接バンドルする準備が整いました。
新機能: db.atomic()トランザクション
この機能はマイグレーションよりもあまり使われていないため、テスターからの注目が必要です。以前は、sqlite-utilsは主にユーザーにトランザクション管理を任せていましたが、SQLiteはセーブポイントの形でネストされたトランザクションをサポートしているため、これをできるだけ簡単に使えるようにする抽象化を望んでいました。
後方互換性のない変更
v4の後方互換性のない変更については、アルファリリースノートに記載されています。これには、INSERT ... ON CONFLICT SET構文の使用や、Python 3.8のサポートの削除などが含まれます。
新しいRCを試してみるには、次のようにインストールできます:
pip install sqlite-utils==4.0rc1
または、CLIバージョンを直接試すには、次のようにします:
uvx --with sqlite-utils==4.0rc1 sqlite-utils --help
Discordチャンネルでのディスカッションや、GitHub Issuesでのバグ報告も歓迎です。
新機能: マイグレーション
このRCでは、前の4.0アルファと比較して2つの重要な新機能が追加されました。最初はデータベースマイグレーションのサポートです。これは完全に新しい実装ではなく、数年前にリリースしたsqlite-migrateパッケージの少し修正されたポートです。このパッケージは時間が経つにつれてその実力を証明していると思うので、今回はsqlite-utilsに直接バンドルする準備が整いました。
新機能: db.atomic()トランザクション
この機能はマイグレーションよりもあまり使われていないため、テスターからの注目が必要です。以前は、sqlite-utilsは主にユーザーにトランザクション管理を任せていましたが、SQLiteはセーブポイントの形でネストされたトランザクションをサポートしているため、これをできるだけ簡単に使えるようにする抽象化を望んでいました。
後方互換性のない変更
v4の後方互換性のない変更については、アルファリリースノートに記載されています。これには、INSERT ... ON CONFLICT SET構文の使用や、Python 3.8のサポートの削除などが含まれます。
新しいRCを試してみるには、次のようにインストールできます:
pip install sqlite-utils==4.0rc1
または、CLIバージョンを直接試すには、次のようにします:
uvx --with sqlite-utils==4.0rc1 sqlite-utils --help
Discordチャンネルでのディスカッションや、GitHub Issuesでのバグ報告も歓迎です。