コンテンツにスキップ

データベースとは

データベース は、Synqlet の中にデータを保存しておくための機能です。フローの処理結果を蓄積したり、外部サービスから取り込んだデータを保持したり、フローの実行に必要なデータを置いたりできます。

グローバルメニューの「データベース」から利用します。

用語説明
テーブルデータの入れ物。表計算ソフトの「シート」に相当します。組織ごとに複数作成できます。
フィールドテーブルの列にあたる項目。名前(コード)と型(テキスト・数値・日時・ファイルなど)を定義します。
テーブルに保存された1件のデータ。表計算ソフトの「行」に相当します。

各行には、フィールドの値(values)のほかに、システムが自動で管理する次の項目が付きます。

項目説明
id行のID。作成時に指定しなければ自動で割り振られます(UUIDv7)。テーブル内で一意です。
createdAt / updatedAt作成日時 / 更新日時
createdBy / updatedBy作成したユーザー / 更新したユーザー
方法用途参照
画面中身の確認、手作業での修正、マスタデータの整備画面からデータを操作する
スクリプトフロー / ファンクションの処理からの読み書きスクリプトからデータベースを操作する
REST API外部システムからの読み書きデータベースの REST API

いずれの方法でも同じデータを扱います。スクリプトからは synqlet:database/{テーブルのID} をインポートするだけで、そのテーブル専用の型が付いた関数(list / insertOne / updateOne など)が使えます。

import * as customers from "synqlet:database/{テーブルのID}";
export default async function () {
for await (const row of customers.list({
filter: { values: { status: { _eq: "active" } } },
})) {
console.log(row.values.name);
}
}

フィールドの型に ファイル を選ぶと、行にファイルを添付できます。フォームトリガーで受け取ったファイルをテーブルに保存したり、テーブルのファイルを別のテーブルへコピーしたりできます。→ ファイル型フィールドを扱う

データベースの操作にはロールに応じた制限があります。

ロールテーブルの作成・変更・削除行の閲覧行の作成・更新・削除
管理者できるできるできる
管理者(閲覧)できないできるできない
一般できないできるできない

スクリプトから操作する場合は、実行しているランナーが属する組織のテーブル・行のみ読み書きできます。

メンバー管理