Query Library

Query Library(クエリー・ライブラリー)を使用すると、組織全体および複数のRetoolアプリケーション間で、クエリーを作成、実行、および共有できます。このライブラリー内のクエリーはJavascriptでの関数に似ています。それらの中で変数を定義でき、それらから結果が返されます。その後、複数のRetoolアプリケーションにわたり内部でこのクエリーを「コールする」ことができ、同じクエリーをどこかにコピーして貼り付ける必要がなくなります。

機能と使用事例

Query Libraryでは、以下のことがサポートされています。

  • 任意のリソース(SQL、Firebase、RESTなど)用にクエリーを記述する
  • 自分の組織の他のユーザーとクエリーを共有する
  • クエリーをインポートした場合に使用できる変数を、クエリーに定義する
  • クエリーの以前のバージョンを維持し、そのバージョンに戻す
  • クエリーの結果をJSONまたはCSVとしてダウンロードする

使用事例

  • 簡単なSQL文を記述し、そのリンクを同僚と共有する
  • 複数のRetoolアプリケーションにわたり使用する、1つのクエリーを記述する
  • 複雑なSQLクエリーの旧バージョンを確認する
  • 後で参照できるようにSQLスニペットを保存する

権限

Retool管理者は、ユーザー・グループによって、誰がQuery Libraryにアクセスできるかを構成できます。現在は、Query Libraryにアクセスできるユーザーには、読み取りと書き込みの両方のアクセス権があります。

すべてのクエリーは、作成時には個人用です。個人用である間は、作成者のみが、それらの読み取りと更新を行うことができます。ユーザーは、クエリーの共有を選択できます。それにより、組織全体がそれにアクセスできるようになります。個人用クエリーのみ削除できるということに注意してください。現在のところ、一旦共有されたクエリーの共有を解除することはできません。

📘

クエリー内で使用されているリソースにアクセスできるユーザーのみがそのクエリーにアクセスできます。これは、共有クエリーの場合にも当てはまります。

バージョン管理

Query Library内のクエリーを保存するたびに、コミットと同様に、Retoolによってスナップショットが保存されます。このライブラリー内のすべてのクエリーについて、すべての履歴を確認することや、保存内容の違いを調べることや、特定のバージョンに戻すことができます。SQLベースのリソースとSQL以外のリソースのどちらにもバージョン履歴がありますが、SQLリソースの場合のみ、変更内容の差分が行ごとに表示されます。

📘

自分のRetoolアプリケーションにインポートしたクエリーの特定のバージョンを選択している間は、この履歴ビューを使用して相違を確認できます。

再使用可能クエリー

再使用可能クエリーを使用すると、Query Libraryから自分のRetoolアプリケーションに共有クエリーをインポートできます。これにより、繰り返しをなくし、自分の組織用の信頼できる唯一の情報源を維持することができます。例えば、月次収益に関する同じクエリーを各アプリケーションにコピーして貼り付けるのではなく、このライブラリーに1つだけ維持することができます。クエリーをインポートするときには、インポートするクエリーのバージョンを指定することもできます。クエリーをアプリケーションにインポートする前に、クエリーを共有する必要があることを覚えておいてください。

再使用可能クエリーの仕組みについての詳細は、このガイドのクエリーの再使用を参照してください。

変数

変数を使用すると、Retoolアプリケーション内と同じように、クエリーの一部をハードコードしなくて済みます。自分のアプリケーション内でselect * from users where id = {{ textinput1.value }}を使用した場合、このライブラリーには、参照する他のオブジェクトはありません。そのため、Query Libraryによって{{ }}の内側の不明な単語が抽出されます。この場合は、select * from users where id = {{ user_id }}と記述すると、このライブラリーによってuser_idが抽出され、それが右側に表示されます。

通常のRetoolアプリケーション内と同様に、{{ }}の内側でJavascriptを使用できることを覚えておいてください。
例えば、次のことができます。

  • {{ parseInt(user_id) }}のような式を記述する
  • {{ select * from users where status = {{ age > 65 ? 'retired' : 'working' }}のようなクエリーを記述する
  • {{ }}の内側でmomentまたはnumbroなどのライブラリーを使用する

再使用可能クエリーでの変数の仕組みについての詳細は、このガイドのクエリーの再使用を参照してください。