2024-09-30 22:31:09 +00:00
|
|
|
CREATE TABLE IF NOT EXISTS users
|
|
|
|
|
(
|
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
|
name TEXT NOT NULL UNIQUE,
|
|
|
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
2024-10-01 03:08:52 +00:00
|
|
|
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
session_id TEXT NOT NULL
|
2024-09-30 22:31:09 +00:00
|
|
|
) STRICT;
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS chat_rooms
|
|
|
|
|
(
|
2024-10-01 03:08:52 +00:00
|
|
|
id TEXT PRIMARY KEY,
|
2024-09-30 22:31:09 +00:00
|
|
|
name TEXT NOT NULL,
|
|
|
|
|
last_message_sent_at TEXT,
|
|
|
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
|
|
|
) STRICT;
|
|
|
|
|
|
|
|
|
|
CREATE TABLE IF NOT EXISTS messages
|
|
|
|
|
(
|
|
|
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
|
|
|
chat_room_id TEXT NOT NULL,
|
|
|
|
|
user_id INTEGER NOT NULL,
|
2024-10-01 03:08:52 +00:00
|
|
|
username TEXT NOT NULL,
|
2024-09-30 22:31:09 +00:00
|
|
|
message TEXT NOT NULL,
|
|
|
|
|
created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
FOREIGN KEY (chat_room_id) REFERENCES chat_rooms (id) ON DELETE CASCADE,
|
|
|
|
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
|
|
|
|
|
) STRICT;
|
|
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_messages_chat_room_id ON messages (chat_room_id);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_messages_user_id ON messages (user_id);
|