メインコンテンツまでスキップ

データベース

永続化されるデータは、すべて backend/.env の DB_URL で選んだ 1 つのリレーショナルデータベースに入ります。

種類DB_URL備考
SQLite(既定)sqlite:///a2flow.db設定不要のローカルファイル
PostgreSQLpostgresql://user:password@host:5432/a2flowDocker Compose 構成で使用

非同期ドライバの接尾辞(aiosqlite と asyncpg)は自動で付きます。スキーマの変更はバージョン管理された Alembic のマイグレーションとして追跡し、起動時に自動適用します。アプリを再デプロイする(コンテナを再起動する)ことが未適用のマイグレーションを走らせる操作なので、別途マイグレーション手順を踏む必要はありません。

複数レプリカのバックエンドを協調させているのもこのデータベースです。エージェントの実行は、SSE ストリームが続くあいだ PostgreSQL のアドバイザリロックを保持します。そのため 1 つの会話が同時に 2 つのレプリカから動かされることはありません。これが何を守っているのか、そしてコネクションプールにどんな制約を課すのかは水平スケーリングを参照してください。

何が入っているか​

テーブル内容
usersアプリケーションのユーザーと、付与されたロール。ユーザーとグループを参照
auth_sessionsサーバー側のログインセッション
login_failures直近のサインインの失敗。繰り返しの推測からアカウントをロックするために数えます。1 日より古い行は削除されます
impersonation_events代理ログインの監査証跡
agent_skillsAgent Skill の定義と、クローン元のリポジトリ
mcp_servers登録済みの MCP サーバーと、その接続方法
knowledge_bases、knowledge_sources、knowledge_pagesナレッジベース。アップロードした文書と登録した URL、そこから書かれたページ
secrets名前付きの認証情報のまとまり。ローカルで暗号化するか、Vault を参照します
workflowsワークフローの定義とライフサイクルの状態
workflow_task_templatesワークフローの、あらかじめ設計されたタスクの一覧
workflow_published_versions公開時点で固めた設計。modified のワークフローはこれに対して実行されます
workflow_executions実行ごとに 1 行。実行時点のワークフローとスキルのメタデータのスナップショットつき
workflow_tasks実行が持つ個々のタスク。テンプレートからコピーされます
workflow_task_tool_bindingsタスクに紐づけられた MCP ツール
message_meta2 種類の共有チャットの、メッセージごとの情報。誰が送ったか、そのときどのタスクが進行中だったか

ワークフローを削除するとテンプレートも一緒に消えますが、過去の実行は残ります。実行は設計の一部ではなく、何が起きたかの記録だからです。