コンテンツにスキップ

検索はプロダクションビルドでのみ利用可能です。 ローカルでテストするには、サイトをビルドしてプレビューしてください。

チャットテーブル

チャット機能のデータを管理する4テーブルです。


店舗と連絡先間のチャットルームを管理するテーブルです。

カラムNULLデフォルト説明
idtextNO主キー(UUID)
shopIdtextNO店舗 ID
contactIdtextNO連絡先 ID
roomIdtextNOルーム識別子(ユニーク)
roomTypetextNO'one_to_one'ルーム種別
customerEnteredbooleanNOfalse顧客が入室済みか
lastMessagetextYES最新メッセージ(プレビュー用)
lastMessageAttimestamptz(3)YES最新メッセージ日時
lastUserMessageAttimestamptz(3)YES最新のユーザーメッセージ日時
createdAttimestamptz(3)NONOW()作成日時
updatedAttimestamptz(3)NONOW()更新日時
名前カラム種別
roomIdUNIQUE
chat_room_shopId_idxshopIdINDEX
chat_room_lastMessageAt_idxlastMessageAtINDEX
chat_room_lastUserMessageAt_idxlastUserMessageAtINDEX

チャットメッセージを保存するテーブルです。

カラムNULLデフォルト説明
idtextNO主キー(UUID)
roomIdtextNOルーム ID
senderIdtextNO送信者 ID
senderTypetextNO送信者種別(‘shop’ | ‘customer’ | ‘system’)
contenttextNOメッセージ本文
contentTypetextNO'text'コンテンツ種別(‘text’ | ‘image’ | ‘file’)
messageTypetextNO'normal'メッセージ種別(‘normal’ | ‘broadcast’ | ‘system’)
displayDaysintegerNO90表示期間(日数、TTL)
metadatajsonbYESメタデータ(添付情報等)
sentAttimestamptz(3)NONOW()送信日時
createdAttimestamptz(3)NONOW()作成日時
名前カラム種別
chat_message_roomId_idxroomIdINDEX
chat_message_roomId_sentAt_idxroomId, sentAtINDEX(複合)
chat_message_sentAt_idxsentAtINDEX

ユーザーごとのチャットルーム既読状態を管理するテーブルです。

カラムNULLデフォルト説明
userIdtextNOユーザー ID(複合主キー)
roomIdtextNOルーム ID(複合主キー)
userTypetextNOユーザー種別(‘shop’ | ‘customer’)
lastReadAttimestamptz(3)NONOW()最終既読日時

(userId, roomId) の複合主キー。

名前カラム種別
userId, roomIdPRIMARY KEY
user_room_state_userId_idxuserIdINDEX
user_room_state_roomId_idxroomIdINDEX

チャットの添付ファイルメタデータを管理するテーブルです。実際のファイルは R2 に保存されます。

カラムNULLデフォルト説明
idtextNO主キー(UUID)
messageIdtextNOメッセージ ID
fileNametextNOファイル名
mimeTypetextNOMIME タイプ
sizeintegerNOファイルサイズ(バイト)
r2KeytextNOR2 オブジェクトキー(ユニーク)
createdAttimestamptz(3)NONOW()作成日時
名前カラム種別
r2KeyUNIQUE
chat_attachment_messageId_idxmessageIdINDEX