CREATE TABLE IF NOT EXISTS `users_api` (
  `id` MEDIUMINT(9) NOT NULL COMMENT 'PK',
  `agency_id` MEDIUMINT(9) NOT NULL COMMENT 'ИД агенства',
  `service_id` TINYINT(2) NOT NULL COMMENT 'Тип рекламной площадки',
  `client_id` VARCHAR(64) DEFAULT NULL COMMENT 'ИД клиента на рекламной площадке',
  `secret_key` VARCHAR(255) NOT NULL COMMENT 'Ключ API или токен доступа к API',
  `ext_user_id` VARCHAR(64) DEFAULT NULL COMMENT 'ИД пользователя на рекламной площадке',
  `status` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Статус рекламной площадки (1 - собираем статистику, 0 - не собираем)',
  `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата создания (добавления) API',
  `created_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который добавил API',
  `updated_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата обновления (редактирования) API',
  `updated_by` mediumint(9) NOT NULL COMMENT 'Пользователь, который изменил данные API'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица доступа к API рекламных площадок';

ALTER TABLE `users_api`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_users_api_to_users` (`agency_id`),
  ADD KEY `idx_users_api` (`service_id`, `client_id`, `secret_key`, `ext_user_id`, `status`);

ALTER TABLE `users_api`
  MODIFY `id` MEDIUMINT(9) NOT NULL AUTO_INCREMENT COMMENT 'PK';

ALTER TABLE `users_api` ADD CONSTRAINT `agency_id` UNIQUE (`agency_id`);

ALTER TABLE `users_api` DROP INDEX `agency_id`, ADD INDEX `agency_id` (`agency_id`) USING BTREE;

ALTER TABLE `users_api` ADD `use_for_complexes` TINYINT(1) NOT NULL DEFAULT '0' COMMENT 'Признак использования для получения статистики по рекламу комплексов' AFTER `updated_by`;