CREATE TABLE IF NOT EXISTS `lic_copy_$mid` (
 	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	contract_id int(11) NOT NULL,
  	product_id int(11) NOT NULL,
  	dt datetime NOT NULL,
  	comment varchar(255) NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_copy_item_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	order_id int(11) NOT NULL,
  	to_date date NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_copy_item_order_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	copy_id int(11) NOT NULL,
  	product_item_id int(11) NOT NULL,
  	type tinyint(4) NOT NULL,
  	term int(11) NOT NULL,
  	count int(11) NOT NULL,
  	status tinyint(4) NOT NULL,
  	create_date datetime NOT NULL,
  	user_id int(11) NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_copy_package_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	copy_id int(11) NOT NULL,
  	create_date datetime NOT NULL,
  	status tinyint(4) NOT NULL,
  	user_id int(11) NOT NULL,
  	data text NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_copy_package_item_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	package_id int(11) NOT NULL,
  	item_id int(11) NOT NULL,
  	PRIMARY KEY (package_id,item_id)
);

CREATE TABLE IF NOT EXISTS `lic_copy_param_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	copy_id int(11) NOT NULL,
  	param varchar(100) NOT NULL,
  	value varchar(255) NOT NULL,
  	PRIMARY KEY (copy_id,param)
);

CREATE TABLE IF NOT EXISTS `lic_product_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	title varchar(255) NOT NULL,
  	version varchar(20) NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_product_item_$mid` (
  	lu timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  	id int(11) NOT NULL AUTO_INCREMENT,
  	name varchar(150) NOT NULL,
  	title varchar(150) NOT NULL,
  	comment varchar(255) NOT NULL,
  	PRIMARY KEY (id)
);

CREATE TABLE IF NOT EXISTS `lic_product_item_product_$mid` (
  	product_id int(11) NOT NULL,
  	product_item_id int(11) NOT NULL
);

CREATE TABLE IF NOT EXISTS `lic_component_$mid` (
  `lu` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(150) NOT NULL,
  `title` varchar(150) NOT NULL,
  `comment` varchar(255) NOT NULL,
  `type` tinyint(4) NOT NULL,
  `unlimited` tinyint(1) unsigned NOT NULL DEFAULT '0',
  `available_on_web` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
);

ALTER TABLE lic_product_item_$mid ADD COLUMN type TINYINT  NOT NULL AFTER comment;
ALTER TABLE lic_product_item_$mid ADD COLUMN unlimited TINYINT(1) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE lic_copy_package_$mid ADD COLUMN original_data TEXT  NOT NULL AFTER data;
ALTER TABLE lic_copy_item_$mid RENAME TO lic_confirmed_order_$mid;
ALTER TABLE lic_product_item_$mid CHANGE COLUMN product_item_id component_id INTEGER  NOT NULL;
ALTER TABLE lic_product_item_$mid RENAME TO lic_component_$mid;
ALTER TABLE lic_product_item_product_$mid RENAME TO lic_product_component_$mid;
ALTER TABLE lic_copy_item_order_$mid 
	RENAME TO lic_order_$mid,
	CHANGE COLUMN product_item_id item_id INTEGER  NOT NULL;
ALTER TABLE lic_copy_package_$mid RENAME TO lic_license_$mid;
ALTER TABLE lic_copy_package_item_$mid 
	RENAME TO lic_license_component_$mid,
	CHANGE COLUMN package_id license_id INTEGER  NOT NULL,
	CHANGE COLUMN item_id component_id INTEGER  NOT NULL,
	DROP PRIMARY KEY,
	ADD PRIMARY KEY  USING BTREE(license_id, component_id);
 
DROP TABLE IF EXISTS `lic_copy_param_$mid`;

CREATE TABLE IF NOT EXISTS `lic_additional_agreement_$mid` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `contractId` int(11) NOT NULL,
  `copy_id` int(11) NOT NULL,
  `number` int(11) NOT NULL,
  `date` datetime NOT NULL,
  `status` int(11) NOT NULL,
  `sum` decimal(10,2) NOT NULL,
  `document_id` int(11) NOT NULL,
  `bill_id` int(11) NOT NULL,
  `specification` blob,
  PRIMARY KEY (`id`)
);

ALTER TABLE `lic_copy_$mid` ADD COLUMN `discount` DECIMAL(10,2) NOT NULL AFTER `comment`;
ALTER TABLE `lic_additional_agreement_$mid` ADD COLUMN `charge_id` INTEGER  NOT NULL AFTER `specification`;
ALTER TABLE `lic_additional_agreement_$mid` ADD COLUMN `invoice_id` INTEGER  NOT NULL AFTER `charge_id`;
ALTER TABLE `lic_additional_agreement_$mid` MODIFY COLUMN `date` DATETIME  NOT NULL;
ALTER TABLE `lic_component_$mid` ADD COLUMN `available_on_web` BOOLEAN NOT NULL DEFAULT true;
ALTER TABLE `lic_copy_$mid` ADD COLUMN `licensee_name` VARCHAR(255) NOT NULL AFTER `dt`;
ALTER TABLE `lic_component_154` ADD COLUMN `category_id` int(11) NOT NULL DEFAULT 0 AFTER `title`;

-- #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.license.server.event.AddAdditionalAgreementEvent', 1, 'Создание дополнительного соглашения');
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.license.server.event.RemoveAdditionalAgreementEvent', 1, 'Удаление дополнительного соглашения');
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.license.server.event.SignAdditionalAgreementEvent', 1, 'Подписание дополнительного соглашения');
INSERT INTO script_event_type (mid, event_id, event_mode, title) VALUES ($mid, 'ru.bitel.bgbilling.modules.license.server.event.UnsignAdditionalAgreementEvent', 1, 'Отмена подписи дополнительного соглашения');
-- #ENDB#