CREATE TABLE IF NOT EXISTS `subscription_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `contract_id` int(11) DEFAULT NULL,
  `type_id` int(11) DEFAULT NULL,
  `date_from` datetime DEFAULT NULL,
  `date_to` datetime DEFAULT NULL,
  `registration_period_id` int(11) DEFAULT NULL,
  `avto_commit` tinyint(1) DEFAULT NULL,
  `job_id` bigint(20) NOT NULL DEFAULT '0',
  `comment` text,
  PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `subscription_period_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `subscription_id` int(11) DEFAULT NULL,
  `date_from` datetime DEFAULT NULL,
  `date_to` datetime DEFAULT NULL,
  `date_create` datetime DEFAULT NULL,
  `who_create` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `subscription_id` (`subscription_id`)
);

CREATE TABLE IF NOT EXISTS `subscription_type_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `service_id` int(11) DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `comment` text,
  `date_from` datetime DEFAULT NULL,
  `date_to` datetime DEFAULT NULL,
  `duration_value` bigint(20) DEFAULT NULL,
  `duration_unit` varchar(10) DEFAULT NULL,
  `delay_value` bigint(20) DEFAULT NULL,
  `delay_unit` varchar(10) DEFAULT NULL,
  `round_value` bigint(20) DEFAULT NULL,
  `round_unit` varchar(10) DEFAULT NULL,
  `avto_commit` tinyint(1) DEFAULT NULL,
  `config` text,
  PRIMARY KEY (`id`)
);

CREATE TABLE IF NOT EXISTS `subscription_service_status_matrix` (
  `module_id` int(11) NOT NULL,
  `subscription_id` int(11) NOT NULL,
  `status_id` int(11) NOT NULL,
  `value` int(1) DEFAULT NULL,
  PRIMARY KEY (`module_id`,`subscription_id`,`status_id`)
);

-- события
-- #BLOCK#
DELETE FROM script_event_type WHERE mid=$mid;
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.subscription.server.event.SubscriptionActivateEvent', 1, 'Активация подписки на договоре');
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.subscription.server.event.SubscriptionRegistrationPeriodEndEvent', 1, 'Окончание учетного периода подписки на договоре');
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.subscription.server.event.SubscriptionUpdateEvent', 1, 'Добавление/изменение подписки на договоре');
-- #ENDB#
