20 lines
928 B
SQL
20 lines
928 B
SQL
CREATE TABLE IF NOT EXISTS `messages` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`sender_id` int(11) NOT NULL,
|
|
`receiver_id` int(11) DEFAULT NULL,
|
|
`group_type` enum('admins','moderators','all_users') DEFAULT NULL,
|
|
`subject` varchar(255) NOT NULL,
|
|
`message` text NOT NULL,
|
|
`is_read` tinyint(1) NOT NULL DEFAULT 0,
|
|
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `sender_id` (`sender_id`),
|
|
KEY `receiver_id` (`receiver_id`),
|
|
KEY `is_read` (`is_read`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
|
|
|
-- Foreign key constraints
|
|
ALTER TABLE `messages`
|
|
ADD CONSTRAINT `messages_ibfk_1` FOREIGN KEY (`sender_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE,
|
|
ADD CONSTRAINT `messages_ibfk_2` FOREIGN KEY (`receiver_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE; |