diff --git a/mifosng-db/0001a-mifos-platform-base-ddl-schema.sql b/mifosng-db/0001a-mifos-platform-base-ddl-schema.sql index ce33b0281..614749f07 100644 --- a/mifosng-db/0001a-mifos-platform-base-ddl-schema.sql +++ b/mifosng-db/0001a-mifos-platform-base-ddl-schema.sql @@ -26,6 +26,7 @@ DROP TABLE IF EXISTS `m_product_deposit`; DROP TABLE IF EXISTS `m_organisation_currency`; DROP TABLE IF EXISTS `m_fund`; DROP TABLE IF EXISTS `m_charge`; +DROP TABLE IF EXISTS `m_product_loan_charge`; DROP TABLE IF EXISTS `m_office_transaction`; DROP TABLE IF EXISTS `m_office`; -- admin tables @@ -53,9 +54,9 @@ DROP TABLE IF EXISTS `stretchy_report_parameter`; DROP TABLE IF EXISTS `stretchy_report`; DROP TABLE IF EXISTS `rpt_sequence`; - SET foreign_key_checks = 1; + -- DDL for reference/lookup tables CREATE TABLE `m_currency` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, @@ -126,8 +127,13 @@ CREATE TABLE `m_fund` ( CREATE TABLE `m_charge` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `charge_applies_to_enum` smallint(5) NOT NULL, + `charge_time_enum` smallint(5) NOT NULL, + `charge_calculation_enum` smallint(5) NOT NULL, `amount` decimal(19,6) NOT NULL, - `is_deleted` tinyint(1) NOT NULL DEFAULT 0, + `is_active` tinyint(1) NOT NULL, + `is_deleted` tinyint(1) NOT NULL DEFAULT '0', `createdby_id` bigint(20) DEFAULT NULL, `created_date` datetime DEFAULT NULL, `lastmodifiedby_id` bigint(20) DEFAULT NULL, @@ -338,6 +344,15 @@ CREATE TABLE `m_product_loan` ( CONSTRAINT `FK_ltp_strategy` FOREIGN KEY (`loan_transaction_strategy_id`) REFERENCES `ref_loan_transaction_processing_strategy` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE `m_product_loan_charge` ( + `product_loan_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`product_loan_id`,`charge_id`), + KEY `charge_id` (`charge_id`), + CONSTRAINT `m_product_loan_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_product_loan_charge_ibfk_2` FOREIGN KEY (`product_loan_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE `m_loan` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `external_id` varchar(100) DEFAULT NULL, @@ -641,4 +656,5 @@ CREATE TABLE `stretchy_report_parameter` ( `report_parameter_name` varchar(45) DEFAULT NULL, PRIMARY KEY (`report_id`,`parameter_id`), UNIQUE KEY `report_id_name_UNIQUE` (`report_id`,`report_parameter_name`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; \ No newline at end of file +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + diff --git a/mifosng-db/patches/patch-0009-charge-changes.sql b/mifosng-db/patches/patch-0009-charge-changes.sql new file mode 100644 index 000000000..666bd18f6 --- /dev/null +++ b/mifosng-db/patches/patch-0009-charge-changes.sql @@ -0,0 +1,16 @@ +ALTER TABLE `m_charge` +ADD COLUMN `currency_code` VARCHAR(3) NOT NULL AFTER `name` , +ADD COLUMN `charge_applies_to_enum` SMALLINT(5) NOT NULL AFTER `currency_code` , +ADD COLUMN `charge_time_enum` SMALLINT(5) NOT NULL AFTER `charge_applies_to_enum` , +ADD COLUMN `charge_calculation_enum` SMALLINT(5) NOT NULL AFTER `charge_time_enum` , +ADD COLUMN `is_active` TINYINT(1) NOT NULL AFTER `amount` ; + + +CREATE TABLE `m_product_loan_charge` ( + `product_loan_id` bigint(20) NOT NULL, + `charge_id` bigint(20) NOT NULL, + PRIMARY KEY (`product_loan_id`, `charge_id`), + KEY `charge_id` (`charge_id`), + CONSTRAINT `m_product_loan_charge_ibfk_1` FOREIGN KEY (`charge_id`) REFERENCES `m_charge` (`id`), + CONSTRAINT `m_product_loan_charge_ibfk_2` FOREIGN KEY (`product_loan_id`) REFERENCES `m_product_loan` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; \ No newline at end of file