CREATE TABLE IF NOT EXISTS `inner_blanks` ( `id` int(11) NOT NULL, `name` varchar(64) NOT NULL COMMENT 'Название бланка', `type` tinyint(4) NOT NULL COMMENT 'Тип бланка', `content` text DEFAULT NULL COMMENT 'Контент бланка', `agency_id` mediumint(9) NOT NULL COMMENT 'ИД агенства, которому принадлежит бланк', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания бланка', `created_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который добавил бланка', `updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата редактирования бланка', `updated_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который изменил данные бланка' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица бланков документов'; ALTER TABLE `inner_blanks` ADD PRIMARY KEY (id), ADD KEY `idx_inner_blanks` (`name`, `type`, `content`(255), `agency_id`); ALTER TABLE `inner_blanks` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK'; CREATE TABLE IF NOT EXISTS `inner_blanks_fields` ( `id` int(11) NOT NULL, `section_id` tinyint(4) NOT NULL COMMENT 'Связь переменной (объект/клиент)', `name` varchar(64) NOT NULL COMMENT 'Название переменной', `title` varchar(255) NOT NULL COMMENT 'Заголовок переменной', `default` varchar(255) NULL COMMENT 'Значение по-умолчанию', `agency_id` mediumint(9) NOT NULL COMMENT 'ИД агенства, которому принадлежит переменная', `order` tinyint(4) NOT NULL COMMENT 'Порядок сортировки', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания переменной', `created_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который добавил переменную', `updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата редактирования переменной', `updated_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который изменил переменную' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица переменных бланков'; ALTER TABLE `inner_blanks_fields` ADD PRIMARY KEY (id), ADD KEY `idx_inner_blanks_fields` (`section_id`, `name`, `title`, `agency_id`, `order`); ALTER TABLE `inner_blanks_fields` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK'; CREATE TABLE IF NOT EXISTS `inner_docs` ( `id` int(11) NOT NULL, `name` varchar(64) NOT NULL COMMENT 'Название документа', `content` text DEFAULT NULL COMMENT 'Контент документа', `blank_id` int(11) NOT NULL COMMENT 'ИД бланка, на основе которого сформирован документ', `agency_id` mediumint(9) NOT NULL COMMENT 'ИД агенства, которому принадлежит документ', `params` varchar(255) NULL COMMENT 'Параметры генерации документа', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания документа', `created_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который добавил документ', `updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата редактирования документа', `updated_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который изменил документ' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица сохраненных документов'; ALTER TABLE `inner_docs` ADD PRIMARY KEY (id), ADD KEY `idx_inner_docs` (`name`, `blank_id`, `content`(255), `agency_id`); ALTER TABLE `inner_docs` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK'; CREATE TABLE IF NOT EXISTS `inner_docs_fields` ( `id` int(11) NOT NULL, `section_id` tinyint(4) NOT NULL COMMENT 'Связь переменной', `source_id` int(11) NOT NULL COMMENT 'ИД источника (объект/клиент)', `field_id` int(11) NOT NULL COMMENT 'ИД переменной', `field_value` varchar(255) NULL COMMENT 'Значение поля переменной', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания переменной', `created_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который добавил переменную', `updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата редактирования переменной', `updated_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который изменил переменную' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица значений переменных для документов'; ALTER TABLE `inner_docs_fields` ADD PRIMARY KEY (id), ADD KEY `idx_inner_docs_fields` (`section_id`, `field_id`, `field_value`, `source_id`); ALTER TABLE `inner_docs_fields` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'PK';