sqlite-utils 4.1のリリース
サマリー
sqlite-utilsのバージョン4.1がリリースされ、Pythonコードを直接使用して行を挿入する新機能や、テーブルの型を上書きするオプションが追加されました。また、主キーの推測や厳密モードの変更機能も強化されています。
本文
sqlite-utilsのバージョン4.1がリリースされました。これは4.0の数日後に行われた初めてのマイナーバージョンアップで、いくつかの新機能が追加されています。
新たに、sqlite-utils insertおよびsqlite-utils upsertコマンドは、行を挿入するためのrows()関数や行のイテラブルを定義するPythonコードのブロックを提供する--codeオプションを受け入れるようになりました。これにより、ファイルからインポートする代わりに、直接Pythonコードを使用して新しい行を生成することが可能になります。
また、--typeオプションを使用して、テーブル作成時に自動的に選択される型を上書きすることができるようになりました。これは、整数のように見えるが先頭のゼロを保持するためにTEXTとして保存する必要があるZIPコードなどのCSVやTSV列に便利です。さらに、新しいtable.drop_index(name)メソッドとsqlite-utils drop-indexコマンドが追加され、インデックスを名前で削除できるようになりました。
その他にも、sqlite-utils upsertが既存のテーブルの主キーを推測できるようになり、--pkオプションを省略できるようになりました。これにより、主キーがすでに存在するテーブルへのアップサートが簡単になります。最後に、table.transform()およびtable.transform_sql()は、SQLiteの厳密モードを変更するためにstrict=Trueまたはstrict=Falseを受け入れるようになりました。これにより、テーブルの厳密モードを簡単に切り替えることができます。
新たに、sqlite-utils insertおよびsqlite-utils upsertコマンドは、行を挿入するためのrows()関数や行のイテラブルを定義するPythonコードのブロックを提供する--codeオプションを受け入れるようになりました。これにより、ファイルからインポートする代わりに、直接Pythonコードを使用して新しい行を生成することが可能になります。
また、--typeオプションを使用して、テーブル作成時に自動的に選択される型を上書きすることができるようになりました。これは、整数のように見えるが先頭のゼロを保持するためにTEXTとして保存する必要があるZIPコードなどのCSVやTSV列に便利です。さらに、新しいtable.drop_index(name)メソッドとsqlite-utils drop-indexコマンドが追加され、インデックスを名前で削除できるようになりました。
その他にも、sqlite-utils upsertが既存のテーブルの主キーを推測できるようになり、--pkオプションを省略できるようになりました。これにより、主キーがすでに存在するテーブルへのアップサートが簡単になります。最後に、table.transform()およびtable.transform_sql()は、SQLiteの厳密モードを変更するためにstrict=Trueまたはstrict=Falseを受け入れるようになりました。これにより、テーブルの厳密モードを簡単に切り替えることができます。