ALTER TABLE `object_fields` ADD `is_required` TINYINT(4) DEFAULT 0 COMMENT 'Флаг, поле обязательно для заполнения' AFTER `is_available`;
ALTER TABLE `object_fields` ADD KEY `is_required` (`is_required`);

ALTER TABLE `object_fields` ADD `block_id` INT(11) DEFAULT 0 COMMENT 'ИД блока переменных' AFTER `order`;
ALTER TABLE `object_fields` ADD KEY `block_id` (`block_id`);


DROP TABLE IF EXISTS `object_fields_blocks`;

CREATE TABLE IF NOT EXISTS `object_fields_blocks` (
    `id` INT(11) NOT NULL COMMENT 'PK',
    `title` varchar(64) NOT NULL COMMENT 'Название блока размещения поля',
    `order` tinyint(4) NOT 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 `object_fields_blocks`
    ADD PRIMARY KEY (`id`),
    ADD KEY `title` (`title`),
    ADD KEY `order` (`order`),
    ADD KEY `agency_id` (`agency_id`),
    ADD KEY `created` (`created_at`, `created_by`),
    ADD KEY `updated` (`updated_at`, `updated_by`);

ALTER TABLE `object_fields_blocks`
    MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
