Joywork/sql/inner_docs.sql

83 lines
5.2 KiB
MySQL
Raw Permalink Normal View History

2026-05-22 20:21:54 +02:00
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';