DROP TABLE if exists `portfolio_deposit_account`; DROP TABLE if exists `portfolio_product_deposit`; CREATE TABLE `portfolio_product_deposit` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(100) NOT NULL, `is_deleted` tinyint(1) NOT NULL DEFAULT '0', `external_id` varchar(100) DEFAULT NULL, `description` varchar(500) DEFAULT NULL, `currency_code` varchar(3) NOT NULL, `currency_digits` smallint(5) NOT NULL, `minimum_balance` decimal(19,6) DEFAULT NULL, `maximum_balance` decimal(19,6) DEFAULT NULL, `tenure_months` int(11) NOT NULL, `interest_compounded_every` smallint(5) NOT NULL DEFAULT '1', `interest_compounded_every_period_enum` smallint(5) NOT NULL DEFAULT '2', `maturity_default_interest_rate` decimal(19,6) NOT NULL, `maturity_min_interest_rate` decimal(19,6) NOT NULL, `maturity_max_interest_rate` decimal(19,6) NOT NULL, `is_renewal_allowed` tinyint(1) NOT NULL DEFAULT '0', `is_preclosure_allowed` tinyint(1) NOT NULL DEFAULT '0', `pre_closure_interest_rate` decimal(19,6) NOT NULL, `createdby_id` bigint(20) DEFAULT NULL, `created_date` datetime DEFAULT NULL, `lastmodified_date` datetime DEFAULT NULL, `lastmodifiedby_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `name_deposit_product` (`name`), UNIQUE KEY `externalid_deposit_product` (`external_id`), KEY `FKJPW0000000000003` (`createdby_id`), KEY `FKJPW0000000000004` (`lastmodifiedby_id`), CONSTRAINT `FKJPX0000000000003` FOREIGN KEY (`createdby_id`) REFERENCES `admin_appuser` (`id`), CONSTRAINT `FKJPX0000000000004` FOREIGN KEY (`lastmodifiedby_id`) REFERENCES `admin_appuser` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `portfolio_deposit_account` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `is_deleted` tinyint(1) NOT NULL DEFAULT '0', `external_id` varchar(100) DEFAULT NULL, `client_id` bigint(20) NOT NULL, `product_id` bigint(20) NOT NULL, `currency_code` varchar(3) NOT NULL, `currency_digits` smallint(5) NOT NULL, `deposit_amount` decimal(19,6) DEFAULT NULL, `maturity_nominal_interest_rate` decimal(19,6) NOT NULL, `tenure_months` int(11) NOT NULL, `interest_compounded_every` smallint(5) NOT NULL DEFAULT '1', `interest_compounded_every_period_enum` smallint(5) NOT NULL DEFAULT '2', `projected_commencement_date` DATE NOT NULL, `actual_commencement_date` DATE DEFAULT NULL, `projected_maturity_date` DATE NOT NULL, `actual_maturity_date` DATE DEFAULT NULL, `projected_interest_accrued_on_maturity` decimal(19,6) NOT NULL, `actual_interest_accrued` decimal(19,6) DEFAULT NULL, `projected_total_maturity_amount` decimal(19,6) NOT NULL, `actual_total_amount` decimal(19,6) DEFAULT NULL, `is_renewal_allowed` tinyint(1) NOT NULL DEFAULT '0', `renewed_account_id` bigint(20) DEFAULT NULL, `is_preclosure_allowed` tinyint(1) NOT NULL DEFAULT '0', `pre_closure_interest_rate` decimal(19,6) NOT NULL, `createdby_id` bigint(20) DEFAULT NULL, `created_date` datetime DEFAULT NULL, `lastmodified_date` datetime DEFAULT NULL, `lastmodifiedby_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `deposit_acc_external_id` (`external_id`), KEY `FKKW0000000000001` (`client_id`), KEY `FKKW0000000000002` (`product_id`), KEY `FKKW0000000000003` (`renewed_account_id`), CONSTRAINT `FKKW0000000000001` FOREIGN KEY (`client_id`) REFERENCES `portfolio_client` (`id`), CONSTRAINT `FKKW0000000000002` FOREIGN KEY (`product_id`) REFERENCES `portfolio_product_deposit` (`id`), CONSTRAINT `FKKW0000000000003` FOREIGN KEY (`renewed_account_id`) REFERENCES `portfolio_deposit_account` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;