CREATE TABLE IF NOT EXISTS `bot_manager_bots_$mid`
(
    `id` INT auto_increment NOT NULL,
    `title` varchar(200) NULL,
    `bot_type` INT NOT NULL,
    `token` varchar(100) NOT NULL,
    `state` INT DEFAULT 0,
    `bot_data` MEDIUMTEXT NULL,
    PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `bot_dialogs_$mid`
(
    `id` INT auto_increment NOT NULL,
    `title` varchar(200),
    `elements_ids` TEXT,
    `groups` TEXT,
    `processing_class` varchar(200),
    `only_signed` TINYINT NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `bot_dialog_elements_$mid`
(
    `id` INT auto_increment NOT NULL,
    `dialog_ids` TEXT,
    `element_type` INT NOT NULL DEFAULT 0,
    `config` TEXT,
    `sort` INT NOT NULL DEFAULT 0,
    PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `bot_dialog_group_$mid`
(
    `id` INT auto_increment NOT NULL,
    `title` varchar(200),
    `comment` TEXT,
    `dialog_ids` TEXT,
    PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `bot_sessions_$mid`
(
    `chat_id` BIGINT NOT NULL,
    `contract_id` INT NOT NULL,
    `bot_id` INT NOT NULL
);

ALTER TABLE `bot_dialogs_$mid` ADD COLUMN `command` VARCHAR(100) NULL;

CREATE TABLE IF NOT EXISTS `bot_manager_statistic_$mid`
(
    `id` INT auto_increment NOT NULL,
    `contract_id` INT NULL DEFAULT 0,
    `last_message_time` TIMESTAMP NOT NULL,
    `bot_id` INT NOT NULL,
    `messenger_user_id` BIGINT NOT NULL,
    `last_dialog_id` INT NULL DEFAULT 0,
    `comment` VARCHAR(500) NULL DEFAULT '',
    PRIMARY KEY (`id`)
);

ALTER TABLE `bot_manager_statistic_$mid` ADD FOREIGN KEY (`bot_id`) REFERENCES `bot_manager_bots_$mid` (`id`) ON DELETE CASCADE;
ALTER TABLE `bot_sessions_$mid` ADD FOREIGN KEY (`bot_id`) REFERENCES `bot_manager_bots_$mid` (`id`) ON DELETE CASCADE;

ALTER TABLE `filestorage_files_list_bot_manager` ADD COLUMN `uuid` VARCHAR(50) NOT NULL AFTER `comment`;
