You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ik...@apache.org on 2019/09/03 10:14:14 UTC
[fineract-cn-deposit-account-management] branch develop updated:
Migrate deposit service from MariaDB to PostgreSQL
This is an automated email from the ASF dual-hosted git repository.
ikamga pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-deposit-account-management.git
The following commit(s) were added to refs/heads/develop by this push:
new 6ceccb7 Migrate deposit service from MariaDB to PostgreSQL
new 69685b1 Merge pull request #11 from Izakey/FINCN-122
6ceccb7 is described below
commit 6ceccb7aeb4ceada1f0de1a4cf9908316777e27a
Author: Isaac Kamga <u2...@gmail.com>
AuthorDate: Thu May 9 03:27:25 2019 +0100
Migrate deposit service from MariaDB to PostgreSQL
---
NOTICE.txt | 2 +-
.../AbstractDepositAccountManagementTest.java | 2 +-
.../fineract/cn/deposit/SuiteTestEnvironment.java | 6 +-
service/build.gradle | 3 +-
.../DepositAccountManagementConfiguration.java | 4 +-
.../command/handler/MigrationAggregate.java | 2 +-
.../repository/DividendDistributionEntity.java | 2 +-
.../repository/ProductDefinitionCommandEntity.java | 2 +-
.../repository/ProductDefinitionEntity.java | 2 +-
.../internal/repository/ProductInstanceEntity.java | 4 +-
service/src/main/resources/application.yml | 15 +++--
.../{mariadb => postgresql}/V1__initial_setup.sql | 74 ++++++++--------------
.../V2__modify_product_instances.sql | 2 +-
.../{mariadb => postgresql}/V3__term_nullable.sql | 4 +-
.../V4__add_unique_constraint_charges.sql | 0
.../V5__interest_calculation.sql | 16 ++---
..._add_opened_on_last_transaction_to_instance.sql | 2 +-
shared.gradle | 3 +-
18 files changed, 64 insertions(+), 81 deletions(-)
diff --git a/NOTICE.txt b/NOTICE.txt
index 69c4995..e6f96b3 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
Apache Fineract CN Deposit-Account-Management
-Copyright [2017-2018] The Apache Software Foundation
+Copyright [2017-2019] The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file
diff --git a/component-test/src/main/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java b/component-test/src/main/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java
index 5da6c56..5076d2d 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/deposit/AbstractDepositAccountManagementTest.java
@@ -58,7 +58,7 @@ public abstract class AbstractDepositAccountManagementTest extends SuiteTestEnvi
public static final String TEST_LOGGER = "test-logger";
@ClassRule
- public final static TenantDataStoreContextTestRule tenantDataStoreContext = TenantDataStoreContextTestRule.forRandomTenantName(cassandraInitializer, mariaDBInitializer);
+ public final static TenantDataStoreContextTestRule tenantDataStoreContext = TenantDataStoreContextTestRule.forRandomTenantName(cassandraInitializer, postgreSQLInitializer);
@Rule
public final TenantApplicationSecurityEnvironmentTestRule tenantApplicationSecurityEnvironment
diff --git a/component-test/src/main/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java b/component-test/src/main/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java
index c8a0716..ba09946 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/deposit/SuiteTestEnvironment.java
@@ -21,7 +21,7 @@ package org.apache.fineract.cn.deposit;
import org.apache.fineract.cn.test.env.TestEnvironment;
import org.apache.fineract.cn.test.fixture.cassandra.CassandraInitializer;
-import org.apache.fineract.cn.test.fixture.mariadb.MariaDBInitializer;
+import org.apache.fineract.cn.test.fixture.postgresql.PostgreSQLInitializer;
import org.junit.ClassRule;
import org.junit.rules.RuleChain;
import org.junit.rules.RunExternalResourceOnce;
@@ -34,11 +34,11 @@ public class SuiteTestEnvironment {
static final String APP_NAME = "deposit-v1";
static final TestEnvironment testEnvironment = new TestEnvironment(APP_NAME);
static final CassandraInitializer cassandraInitializer = new CassandraInitializer();
- static final MariaDBInitializer mariaDBInitializer = new MariaDBInitializer();
+ static final PostgreSQLInitializer postgreSQLInitializer = new PostgreSQLInitializer();
@ClassRule
public static TestRule orderClassRules = RuleChain
.outerRule(new RunExternalResourceOnce(testEnvironment))
.around(new RunExternalResourceOnce(cassandraInitializer))
- .around(new RunExternalResourceOnce(mariaDBInitializer));
+ .around(new RunExternalResourceOnce(postgreSQLInitializer));
}
diff --git a/service/build.gradle b/service/build.gradle
index f8d4e6a..b91981a 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -54,7 +54,8 @@ dependencies {
[group: 'org.apache.fineract.cn', name: 'lang', version: versions.frameworklang],
[group: 'org.apache.fineract.cn', name: 'async', version: versions.frameworkasync],
[group: 'org.apache.fineract.cn', name: 'cassandra', version: versions.frameworkcassandra],
- [group: 'org.apache.fineract.cn', name: 'mariadb', version: versions.frameworkmariadb],
+ [group: 'org.apache.fineract.cn', name: 'postgresql', version: versions.frameworkmariadb],
+ [group: 'org.apache.fineract.cn', name: 'postgresql', version: '0.1.0-BUILD-SNAPSHOT'],
[group: 'org.apache.fineract.cn', name: 'command', version: versions.frameworkcommand],
[group: 'org.apache.fineract.cn.accounting', name: 'api', version: versions.frameworkledger],
[group: 'org.apache.fineract.cn.rhythm', name: 'spi', version: versions.frameworkrhythm],
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/DepositAccountManagementConfiguration.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/DepositAccountManagementConfiguration.java
index cea6978..2f5a083 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/DepositAccountManagementConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/DepositAccountManagementConfiguration.java
@@ -25,7 +25,7 @@ import org.apache.fineract.cn.cassandra.config.EnableCassandra;
import org.apache.fineract.cn.command.config.EnableCommandProcessing;
import org.apache.fineract.cn.lang.config.EnableServiceException;
import org.apache.fineract.cn.lang.config.EnableTenantContext;
-import org.apache.fineract.cn.mariadb.config.EnableMariaDB;
+import org.apache.fineract.cn.postgresql.config.EnablePostgreSQL;
import org.apache.fineract.cn.rhythm.api.v1.client.RhythmManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,7 +46,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
@EnableAsync
@EnableTenantContext
@EnableCassandra
-@EnableMariaDB
+@EnablePostgreSQL
@EnableCommandProcessing
@EnableAnubis
@EnableServiceException
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/MigrationAggregate.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/MigrationAggregate.java
index a071225..d96019e 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/MigrationAggregate.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/command/handler/MigrationAggregate.java
@@ -27,7 +27,7 @@ import org.apache.fineract.cn.command.annotation.Aggregate;
import org.apache.fineract.cn.command.annotation.CommandHandler;
import org.apache.fineract.cn.command.annotation.EventEmitter;
import org.apache.fineract.cn.lang.ApplicationName;
-import org.apache.fineract.cn.mariadb.domain.FlywayFactoryBean;
+import org.apache.fineract.cn.postgresql.domain.FlywayFactoryBean;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/DividendDistributionEntity.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/DividendDistributionEntity.java
index 514c8c0..9a9d1a7 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/DividendDistributionEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/DividendDistributionEntity.java
@@ -31,7 +31,7 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
+import org.apache.fineract.cn.postgresql.util.LocalDateTimeConverter;
@Entity
@Table(name = "shed_dividend_distributions")
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionCommandEntity.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionCommandEntity.java
index 7c8cb75..5ae1209 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionCommandEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionCommandEntity.java
@@ -29,7 +29,7 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
+import org.apache.fineract.cn.postgresql.util.LocalDateTimeConverter;
@Entity
@Table(name = "shed_commands")
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionEntity.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionEntity.java
index 193a952..987e32d 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductDefinitionEntity.java
@@ -26,7 +26,7 @@ import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
-import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
+import org.apache.fineract.cn.postgresql.util.LocalDateTimeConverter;
@Entity
@Table(name = "shed_product_definitions")
diff --git a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductInstanceEntity.java b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductInstanceEntity.java
index c0eaab3..49a4e20 100644
--- a/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductInstanceEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/deposit/service/internal/repository/ProductInstanceEntity.java
@@ -31,8 +31,8 @@ import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
-import org.apache.fineract.cn.mariadb.util.LocalDateConverter;
-import org.apache.fineract.cn.mariadb.util.LocalDateTimeConverter;
+import org.apache.fineract.cn.postgresql.util.LocalDateConverter;
+import org.apache.fineract.cn.postgresql.util.LocalDateTimeConverter;
@Entity
@Table(name = "shed_product_instances")
diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml
index 26ebee9..af72284 100644
--- a/service/src/main/resources/application.yml
+++ b/service/src/main/resources/application.yml
@@ -23,6 +23,11 @@ spring:
enabled: false
config:
enabled: false
+ datasource:
+ driver-class-name: org.postgresql.Driver
+ url: jdbc:postgresql://localhost:5432/playground
+ username: postgres
+ password: postgres
eureka:
client:
@@ -42,13 +47,13 @@ cassandra:
write: LOCAL_QUORUM
delete: LOCAL_QUORUM
-mariadb:
- driverClass: org.mariadb.jdbc.Driver
+postgresql:
+ driverClass: org.postgresql.Driver
database: seshat
host: localhost
- port: 3306
- user: root
- password: mysql
+ port: 5432
+ user: postgres
+ password: postgres
bonecp:
idleMaxAgeInMinutes: 240
diff --git a/service/src/main/resources/db/migrations/mariadb/V1__initial_setup.sql b/service/src/main/resources/db/migrations/postgresql/V1__initial_setup.sql
similarity index 68%
rename from service/src/main/resources/db/migrations/mariadb/V1__initial_setup.sql
rename to service/src/main/resources/db/migrations/postgresql/V1__initial_setup.sql
index 3c0e529..dadbcc7 100644
--- a/service/src/main/resources/db/migrations/mariadb/V1__initial_setup.sql
+++ b/service/src/main/resources/db/migrations/postgresql/V1__initial_setup.sql
@@ -18,7 +18,7 @@
--
CREATE TABLE shed_product_definitions (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
a_type VARCHAR(32) NOT NULL,
identifier VARCHAR(32) NOT NULL,
a_name VARCHAR(256) NOT NULL,
@@ -34,67 +34,48 @@ CREATE TABLE shed_product_definitions (
last_modified_on TIMESTAMP(3) NULL,
last_modified_by VARCHAR(32) NULL,
CONSTRAINT shed_product_definitions_pk PRIMARY KEY (id),
- CONSTRAINT shed_prod_def_identifier_uq UNIQUE (identifier)
-);
+ CONSTRAINT shed_prod_def_identifier_uq UNIQUE (identifier));
CREATE TABLE shed_currencies (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
product_definition_id BIGINT NOT NULL,
a_code VARCHAR(4) NOT NULL,
a_name VARCHAR(256) NOT NULL,
sign VARCHAR(4) NOT NULL,
- scale INTEGER(5) NOT NULL,
- CONSTRAINT shed_currencies PRIMARY KEY (id),
- CONSTRAINT shed_currencies_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ scale INT NOT NULL,
+ CONSTRAINT shed_currencies_pk PRIMARY KEY (id),
+ CONSTRAINT shed_currencies_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
CREATE TABLE shed_terms (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
product_definition_id BIGINT NOT NULL,
- period INTEGER(5) NOT NULL,
+ period INT NOT NULL,
time_unit VARCHAR(32) NOT NULL,
interest_payable VARCHAR(32) NOT NULL,
- CONSTRAINT shed_terms PRIMARY KEY (id),
- CONSTRAINT shed_terms_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ CONSTRAINT shed_terms_pk PRIMARY KEY (id),
+ CONSTRAINT shed_terms_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
CREATE TABLE shed_actions (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
identifier VARCHAR(32) NOT NULL,
a_name VARCHAR(256) NOT NULL,
description VARCHAR(2048) NULL,
transaction_type VARCHAR(32) NOT NULL,
- CONSTRAINT shed_actions PRIMARY KEY (id),
- CONSTRAINT shed_actions_identifier_uq UNIQUE (identifier)
-);
+ CONSTRAINT shed_actions_pk PRIMARY KEY (id),
+ CONSTRAINT shed_actions_identifier_uq UNIQUE (identifier));
-INSERT INTO shed_actions
- (identifier, a_name, transaction_type)
-VALUES
- ('Open', 'Account Opening', 'ACCO');
+INSERT INTO shed_actions (identifier, a_name, transaction_type) VALUES ('Open', 'Account Opening', 'ACCO');
-INSERT INTO shed_actions
- (identifier, a_name, transaction_type)
-VALUES
- ('Transfer', 'Account Transfer', 'ACCT');
+INSERT INTO shed_actions (identifier, a_name, transaction_type) VALUES ('Transfer', 'Account Transfer', 'ACCT');
-INSERT INTO shed_actions
- (identifier, a_name, transaction_type)
-VALUES
- ('Close', 'Account Closing', 'ACCC');
+INSERT INTO shed_actions (identifier, a_name, transaction_type)VALUES ('Close', 'Account Closing', 'ACCC');
-INSERT INTO shed_actions
- (identifier, a_name, transaction_type)
-VALUES
- ('Deposit', 'Cash Deposit', 'CDPT');
+INSERT INTO shed_actions (identifier, a_name, transaction_type) VALUES ('Deposit', 'Cash Deposit', 'CDPT');
-INSERT INTO shed_actions
- (identifier, a_name, transaction_type)
-VALUES
- ('Withdraw', 'Cash Withdrawal', 'CWDL');
+INSERT INTO shed_actions (identifier, a_name, transaction_type) VALUES ('Withdraw', 'Cash Withdrawal', 'CWDL');
CREATE TABLE shed_charges (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
action_id BIGINT NOT NULL,
product_definition_id BIGINT NOT NULL,
income_account_identifier VARCHAR(32) NOT NULL,
@@ -102,24 +83,22 @@ CREATE TABLE shed_charges (
description VARCHAR(2048) NULL,
proportional BOOLEAN NOT NULL,
amount NUMERIC(5, 2) NULL,
- CONSTRAINT shed_charges PRIMARY KEY (id),
+ CONSTRAINT shed_charges_pk PRIMARY KEY (id),
CONSTRAINT shed_charges_actions_fk FOREIGN KEY (action_id) REFERENCES shed_actions (id),
- CONSTRAINT shed_charges_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ CONSTRAINT shed_charges_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
CREATE TABLE shed_commands (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
product_definition_id BIGINT NOT NULL,
a_action VARCHAR(256) NOT NULL,
note VARCHAR(2048) NULL,
created_on TIMESTAMP(3) NOT NULL,
created_by VARCHAR(32) NOT NULL,
- CONSTRAINT shed_commands PRIMARY KEY (id),
- CONSTRAINT shed_commands_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ CONSTRAINT shed_commands_pk PRIMARY KEY (id),
+ CONSTRAINT shed_commands_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
CREATE TABLE shed_product_instances (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
customer_identifier VARCHAR(32) NOT NULL,
product_definition_id BIGINT NOT NULL,
account_identifier VARCHAR(32) NOT NULL,
@@ -130,5 +109,4 @@ CREATE TABLE shed_product_instances (
last_modified_by VARCHAR(32) NULL,
CONSTRAINT shed_product_instances_pk PRIMARY KEY (id),
CONSTRAINT shed_prod_inst_identifier_uq UNIQUE (account_identifier),
- CONSTRAINT shed_prod_inst_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ CONSTRAINT shed_prod_inst_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
diff --git a/service/src/main/resources/db/migrations/mariadb/V2__modify_product_instances.sql b/service/src/main/resources/db/migrations/postgresql/V2__modify_product_instances.sql
similarity index 85%
rename from service/src/main/resources/db/migrations/mariadb/V2__modify_product_instances.sql
rename to service/src/main/resources/db/migrations/postgresql/V2__modify_product_instances.sql
index 57b27b0..4331f6d 100644
--- a/service/src/main/resources/db/migrations/mariadb/V2__modify_product_instances.sql
+++ b/service/src/main/resources/db/migrations/postgresql/V2__modify_product_instances.sql
@@ -17,5 +17,5 @@
-- under the License.
--
-ALTER TABLE shed_product_instances MODIFY COLUMN account_identifier VARCHAR(34) NOT NULL;
+ALTER TABLE shed_product_instances ALTER COLUMN account_identifier TYPE VARCHAR(34), ALTER COLUMN account_identifier SET NOT NULL;
ALTER TABLE shed_product_instances ADD COLUMN beneficiaries VARCHAR(256) NULL;
\ No newline at end of file
diff --git a/service/src/main/resources/db/migrations/mariadb/V3__term_nullable.sql b/service/src/main/resources/db/migrations/postgresql/V3__term_nullable.sql
similarity index 80%
rename from service/src/main/resources/db/migrations/mariadb/V3__term_nullable.sql
rename to service/src/main/resources/db/migrations/postgresql/V3__term_nullable.sql
index 5d998cb..bf64ac4 100644
--- a/service/src/main/resources/db/migrations/mariadb/V3__term_nullable.sql
+++ b/service/src/main/resources/db/migrations/postgresql/V3__term_nullable.sql
@@ -17,5 +17,5 @@
-- under the License.
--
-ALTER TABLE shed_terms MODIFY COLUMN period INTEGER(5) NULL;
-ALTER TABLE shed_terms MODIFY COLUMN time_unit VARCHAR(32) NULL;
\ No newline at end of file
+ALTER TABLE shed_terms ALTER COLUMN period TYPE INT, ALTER COLUMN period SET DEFAULT NULL;
+ALTER TABLE shed_terms ALTER COLUMN time_unit TYPE VARCHAR(32), ALTER COLUMN time_unit SET DEFAULT NULL;
\ No newline at end of file
diff --git a/service/src/main/resources/db/migrations/mariadb/V4__add_unique_constraint_charges.sql b/service/src/main/resources/db/migrations/postgresql/V4__add_unique_constraint_charges.sql
similarity index 100%
rename from service/src/main/resources/db/migrations/mariadb/V4__add_unique_constraint_charges.sql
rename to service/src/main/resources/db/migrations/postgresql/V4__add_unique_constraint_charges.sql
diff --git a/service/src/main/resources/db/migrations/mariadb/V5__interest_calculation.sql b/service/src/main/resources/db/migrations/postgresql/V5__interest_calculation.sql
similarity index 74%
rename from service/src/main/resources/db/migrations/mariadb/V5__interest_calculation.sql
rename to service/src/main/resources/db/migrations/postgresql/V5__interest_calculation.sql
index a814296..f3a0dc7 100644
--- a/service/src/main/resources/db/migrations/mariadb/V5__interest_calculation.sql
+++ b/service/src/main/resources/db/migrations/postgresql/V5__interest_calculation.sql
@@ -19,25 +19,23 @@
ALTER TABLE shed_product_definitions ADD COLUMN cash_account_identifier VARCHAR(34) NULL;
ALTER TABLE shed_product_definitions ADD COLUMN accrue_account_identifier VARCHAR(34) NULL;
-ALTER TABLE shed_product_definitions MODIFY COLUMN equity_ledger_identifier VARCHAR(34) NOT NULL;
-ALTER TABLE shed_product_definitions MODIFY COLUMN expense_account_identifier VARCHAR(34) NOT NULL;
+ALTER TABLE shed_product_definitions ALTER COLUMN equity_ledger_identifier TYPE VARCHAR(34), ALTER COLUMN equity_ledger_identifier SET NOT NULL;
+ALTER TABLE shed_product_definitions ALTER COLUMN expense_account_identifier TYPE VARCHAR(34) ,ALTER COLUMN expense_account_identifier SET NOT NULL;
CREATE TABLE shed_accrued_interests (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
accrue_account_identifier VARCHAR(34) NOT NULL,
customer_account_identifier VARCHAR(34) NOT NULL,
amount NUMERIC(15, 5) NOT NULL,
CONSTRAINT shed_accrued_interests_pk PRIMARY KEY (id),
- CONSTRAINT shed_accrued_interests_uq UNIQUE (accrue_account_identifier, customer_account_identifier)
-);
+ CONSTRAINT shed_accrued_interests_uq UNIQUE (accrue_account_identifier, customer_account_identifier));
CREATE TABLE shed_dividend_distributions (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
product_definition_id BIGINT NOT NULL,
due_date DATE NOT NULL,
rate NUMERIC(15, 5) NOT NULL,
created_on TIMESTAMP(3) NOT NULL,
created_by VARCHAR(32) NOT NULL,
- CONSTRAINT shed_dividend_distributions PRIMARY KEY (id),
- CONSTRAINT shed_div_dist_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id)
-);
+ CONSTRAINT shed_dividend_distributions_pk PRIMARY KEY (id),
+ CONSTRAINT shed_div_dist_prod_def_fk FOREIGN KEY (product_definition_id) REFERENCES shed_product_definitions (id));
diff --git a/service/src/main/resources/db/migrations/mariadb/V6__add_opened_on_last_transaction_to_instance.sql b/service/src/main/resources/db/migrations/postgresql/V6__add_opened_on_last_transaction_to_instance.sql
similarity index 91%
rename from service/src/main/resources/db/migrations/mariadb/V6__add_opened_on_last_transaction_to_instance.sql
rename to service/src/main/resources/db/migrations/postgresql/V6__add_opened_on_last_transaction_to_instance.sql
index 1d9d592..8dbcb20 100644
--- a/service/src/main/resources/db/migrations/mariadb/V6__add_opened_on_last_transaction_to_instance.sql
+++ b/service/src/main/resources/db/migrations/postgresql/V6__add_opened_on_last_transaction_to_instance.sql
@@ -20,4 +20,4 @@
ALTER TABLE shed_product_instances ADD COLUMN opened_on DATE NULL;
ALTER TABLE shed_product_instances ADD COLUMN last_transaction_date TIMESTAMP(3) NULL;
-UPDATE shed_product_instances set opened_on = CURDATE() WHERE a_state <> 'PENDING';
\ No newline at end of file
+UPDATE shed_product_instances set opened_on = CURRENT_DATE WHERE a_state <> 'PENDING';
\ No newline at end of file
diff --git a/shared.gradle b/shared.gradle
index 044e9e9..317849d 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -63,7 +63,8 @@ ext['spring-data-releasetrain.version'] = 'Gosling-SR2A'
dependencies {
compile(
- [group: 'com.google.code.findbugs', name: 'jsr305']
+ [group: 'com.google.code.findbugs', name: 'jsr305'],
+ [group: 'org.apache.fineract.cn', name: 'postgresql', version: '0.1.0-BUILD-SNAPSHOT']
)
testCompile(