29 lines
981 B
SQL
29 lines
981 B
SQL
CREATE TABLE IF NOT EXISTS `channel` (
|
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
`name` VARCHAR,
|
|
`last_message_id` INTEGER,
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS `channel_user` (
|
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
`channel_id` INTEGER NOT NULL,
|
|
`user_id` INTEGER NOT NULL,
|
|
`admin` BOOLEAN NOT NULL DEFAULT 0,
|
|
FOREIGN KEY(`channel_id`) REFERENCES `channel`(`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY(`user_id`) REFERENCES `user`(`id`) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS `message` (
|
|
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
`channel_id` INTEGER NOT NULL,
|
|
`author_id` INTEGER NOT NULL,
|
|
`content` TEXT NOT NULL,
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`system` BOOLEAN NOT NULL DEFAULT 0,
|
|
FOREIGN KEY(`channel_id`) REFERENCES `channel`(`id`) ON DELETE CASCADE,
|
|
FOREIGN KEY(`author_id`) REFERENCES `user`(`id`) ON DELETE
|
|
SET
|
|
NULL
|
|
);
|