コンテンツにスキップ

データベースとは

データベース は、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);
}
}

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

データベースの操作には、メンバーの権限に応じた制限があります。

メンバーの権限 テーブルの作成・変更・削除 行の閲覧 行の作成・更新・削除
「管理者」 できる できる できる
「フロー・ファンクション・環境変数・テーブル・認証情報の作成」 できる できる できる
どちらも許可されていないメンバー できない できる できない

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

→ メンバー管理