27 lines
678 B
TypeScript
27 lines
678 B
TypeScript
/**
|
|
* Adds `chat_messages`, which holds the messages of the site-wide chat.
|
|
*
|
|
* @module
|
|
*/
|
|
|
|
import type { DatabaseSync } from "node:sqlite";
|
|
|
|
/**
|
|
* Run once by `runMigrations`. A database made from schema.sql already has the
|
|
* table.
|
|
*/
|
|
export function up(db: DatabaseSync): void {
|
|
db.exec(`CREATE TABLE IF NOT EXISTS chat_messages (
|
|
id TEXT NOT NULL PRIMARY KEY,
|
|
user_id TEXT NOT NULL,
|
|
body TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT,
|
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
|
);`);
|
|
|
|
db.exec(
|
|
`CREATE INDEX IF NOT EXISTS idx_chat_messages_created ON chat_messages(created_at);`,
|
|
);
|
|
}
|