1
0
Files
nir/migrations/20240506141114_channel.sql
2024-05-21 05:44:46 +03:00

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
);