Add init_sql.sql

This commit is contained in:
git 2025-06-06 16:32:57 +01:00
commit a238d7a308

45
init_sql.sql Normal file
View File

@ -0,0 +1,45 @@
CREATE TABLE `TelegramBots` (
`Name` varchar(255) NOT NULL,
`Token` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Name`));
CREATE TABLE `TelegramRecipients` (
`Name` varchar(255) NOT NULL,
`BotName` varchar(255) DEFAULT NULL,
`Type` enum('Person','Group') DEFAULT 'Person',
`ChatId` double NOT NULL,
UNIQUE KEY `Name` (`Name`,`BotName`),
KEY `BotName` (`BotName`),
CONSTRAINT `TelegramRecipients_ibfk_1` FOREIGN KEY (`BotName`) REFERENCES `TelegramBots` (`Name`) ON DELETE CASCADE ON UPDATE CASCADE
);
CREATE TABLE `TelegramInbox` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`RecipientBotName` varchar(255) DEFAULT NULL,
`Sender` varchar(255) DEFAULT NULL,
`Message` varchar(4096) DEFAULT NULL,
`Status` enum('Unread','Read') DEFAULT 'Unread',
`LastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Id`),
KEY `RecipientBotName` (`RecipientBotName`),
KEY `Sender` (`Sender`),
CONSTRAINT `TelegramInbox_ibfk_1` FOREIGN KEY (`RecipientBotName`) REFERENCES `TelegramBots` (`Name`),
CONSTRAINT `TelegramInbox_ibfk_2` FOREIGN KEY (`Sender`) REFERENCES `TelegramRecipients` (`Name`)
);
CREATE TABLE `TelegramOutbox` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`SenderBotName` varchar(255) NOT NULL,
`RecipientName` varchar(255) NOT NULL,
`Message` varchar(1024) DEFAULT NULL,
`Format` enum('Text','Markdown') DEFAULT 'Markdown',
`Status` enum('Unsent','Sent','Error') DEFAULT 'Unsent',
`ErrorMsg` varchar(255) DEFAULT NULL,
`LastUpdated` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`Id`),
KEY `SenderBotName` (`SenderBotName`),
KEY `RecipientName` (`RecipientName`),
CONSTRAINT `TelegramOutbox_ibfk_1` FOREIGN KEY (`SenderBotName`) REFERENCES `TelegramBots` (`Name`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `TelegramOutbox_ibfk_2` FOREIGN KEY (`RecipientName`) REFERENCES `TelegramRecipients` (`Name`) ON DELETE CASCADE ON UPDATE CASCADE
);