ALTER TABLE `users`
ADD `use_advert_budget` TINYINT NOT NULL DEFAULT '0'
COMMENT 'Рекламный бюджет и ограничение публикации'
AFTER `show_all_objects_page`;

DROP TABLE IF EXISTS `ads_budgets`;

CREATE TABLE IF NOT EXISTS `ads_budgets` (
    `id` BIGINT(11) NOT NULL COMMENT 'PK',

    `agency_id` MEDIUMINT(9) NULL COMMENT 'ИД агентства',
    `user_id` MEDIUMINT(9) NOT NULL COMMENT 'ИД пользователя',

    `total` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Рекламный бюджет',

    `avito` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Avito',
    `cian` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для ЦИАН',
    `yandex` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Yandex',
    `domclick` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для ДомКлик',
    `jcat` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Jcat',
    `zipal` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Zipal',

    `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) NULL COMMENT 'Пользователь, который изменил настройки'

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Рекламный бюджет агентства';

ALTER TABLE `ads_budgets`
    ADD PRIMARY KEY (`id`),
    ADD UNIQUE KEY `user_id` (`user_id`),
    ADD KEY `idx_ads_budgets_user` (`agency_id`, `user_id`),
    ADD KEY `idx_ads_budgets_total` (`total`, `avito`, `cian`, `yandex`, `domclick`, `jcat`, `zipal`);

ALTER TABLE `ads_budgets`
    MODIFY `id` BIGINT(11) NOT NULL AUTO_INCREMENT COMMENT 'PK';

DROP TABLE IF EXISTS `ads_prices`;

CREATE TABLE IF NOT EXISTS `ads_prices` (
    `id` INT(11) NOT NULL COMMENT 'PK',

    `agency_id` MEDIUMINT(9) NULL COMMENT 'ИД агентства',
    `region_id` INT NOT NULL COMMENT 'Регион объекта',
    `operation_type_id` INT NOT NULL COMMENT 'Тип операции',
    `type_id` INT NOT NULL COMMENT 'Тип объекта',
    `rent_type_id` INT NOT NULL COMMENT 'Срок аренды',
    `commerce_type_id` INT NOT NULL COMMENT 'Тип коммерции объекта',

    `avito` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Avito',
    `cian` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для ЦИАН',
    `yandex` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Yandex',
    `domclick` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для ДомКлик',
    `jcat` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Jcat',
    `zipal` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Бюджет для Zipal',

    `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) NULL COMMENT 'Пользователь, который изменил настройки'

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Настройки статистики затрат';

ALTER TABLE `ads_prices`
    ADD PRIMARY KEY (`id`),
    ADD KEY `idx_ads_prices_criterias` (`agency_id`, `region_id`, `operation_type_id`, `type_id`, `rent_type_id`, `commerce_type_id`),
    ADD KEY `idx_ads_prices_services` (`avito`, `cian`, `yandex`, `domclick`, `jcat`, `zipal`);

ALTER TABLE `ads_prices`
    MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'PK';

ALTER TABLE `ads_promo`
    ADD `avito_price` FLOAT NULL COMMENT 'Стоимость размещения для Avito'
AFTER `avito_x10_7`;

ALTER TABLE `ads_promo`
    ADD `cian_price` FLOAT NULL COMMENT 'Стоимость размещения для ЦИАН'
AFTER `cian_ignore_pkg`;

ALTER TABLE `ads_promo`
    ADD `yandex_price` FLOAT NULL COMMENT 'Стоимость размещения для Я.Н'
AFTER `yandex_promotion`;

ALTER TABLE `ads_promo`
    ADD `domclick_price` FLOAT NULL COMMENT 'Стоимость размещения для ДомКик'
AFTER `domclick_top`;

ALTER TABLE `ads_promo`
    ADD `object_owner_id` MEDIUMINT(9) NOT NULL
    COMMENT 'ИД отвественного по объекту'
AFTER `domclick_price`;

ALTER TABLE `ads_promo`
    ADD KEY `idx_ads_promo_price` (`avito_price`, `cian_price`, `yandex_price`, `domclick_price`, `object_owner_id`);

ALTER TABLE `ads_budgets`
    ADD `avito_unlimited` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Безлимитный бюджет для Авито'
AFTER `avito`;

ALTER TABLE `ads_budgets`
    ADD `cian_unlimited` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Безлимитный бюджет для ЦИАН'
AFTER `cian`;

ALTER TABLE `ads_budgets`
    ADD `domclick_unlimited` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Безлимитный бюджет для ДомКлик'
AFTER `domclick`;

ALTER TABLE `ads_budgets`
    ADD `jcat_unlimited` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Безлимитный бюджет для JCat'
AFTER `jcat`;

ALTER TABLE `ads_budgets`
    ADD `yandex_unlimited` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Безлимитный бюджет для Я.Недвижимость'
AFTER `yandex`;

ALTER TABLE `ads_budgets`
    ADD KEY `idx_ads_budgets_unlimited` (`avito_unlimited`, `cian_unlimited`, `domclick_unlimited`, `jcat_unlimited`, `yandex_unlimited`);

ALTER TABLE `ads_budgets` ADD `personal` DOUBLE NOT NULL DEFAULT '0' COMMENT 'Рекламный бюджет (персональный)' AFTER `total`;

ALTER TABLE `ads_budgets`
    ADD KEY `idx_ads_budgets_personal` (`personal`);

ALTER TABLE `object_publish_statistic` ADD `price_period` FLOAT NOT NULL COMMENT 'Стоимость за период на момент размещения' AFTER `price`;
ALTER TABLE `object_publish_statistic` ADD `on_moderation` TINYINT(2) NOT NULL DEFAULT '0' COMMENT 'Реклама на модерации?' AFTER `price_period`;

ALTER TABLE `object_publish_statistic`
    ADD KEY `idx_publish_statistic_price` (`price`, `price_period`);

ALTER TABLE `object_publish_statistic`
    ADD KEY `idx_publish_statistic_moderation` (`on_moderation`);
