You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by ju...@apache.org on 2019/10/17 07:34:32 UTC
[fineract-cn-cheques] 33/44: Migrate cheques service from MariaDB
to PostgreSQL
This is an automated email from the ASF dual-hosted git repository.
juhan pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract-cn-cheques.git
commit 81b31ccc4825e9082874e4eb3efce08dad8babaf
Author: Isaac Kamga <u2...@gmail.com>
AuthorDate: Thu May 9 04:01:58 2019 +0100
Migrate cheques service from MariaDB to PostgreSQL
---
NOTICE.txt | 2 +-
.../fineract/cn/cheque/AbstractChequeTest.java | 2 +-
.../fineract/cn/cheque/SuiteTestEnvironment.java | 6 ++---
service/build.gradle | 2 +-
.../cn/cheque/service/ChequeConfiguration.java | 4 +--
.../command/handler/ManagementAggregate.java | 2 +-
.../service/internal/repository/ChequeEntity.java | 2 +-
.../internal/repository/IssuedChequeEntity.java | 2 +-
service/src/main/resources/application.yml | 15 +++++++----
.../{mariadb => postgresql}/V1__initial_setup.sql | 10 +++-----
shared.gradle | 29 +++++++++++-----------
11 files changed, 40 insertions(+), 36 deletions(-)
diff --git a/NOTICE.txt b/NOTICE.txt
index de5aeca..4bc39ba 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
Apache Fineract CN Cheques
-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/cheque/AbstractChequeTest.java b/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
index e45a167..61c0aa9 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/cheque/AbstractChequeTest.java
@@ -56,7 +56,7 @@ public abstract class AbstractChequeTest extends SuiteTestEnvironment {
@ClassRule
public final static TenantDataStoreContextTestRule tenantDataStoreContext =
- TenantDataStoreContextTestRule.forRandomTenantName(cassandraInitializer, mariaDBInitializer);
+ TenantDataStoreContextTestRule.forRandomTenantName(cassandraInitializer, postgreSQLInitializer);
@Rule
public final TenantApplicationSecurityEnvironmentTestRule tenantApplicationSecurityEnvironment
diff --git a/component-test/src/main/java/org/apache/fineract/cn/cheque/SuiteTestEnvironment.java b/component-test/src/main/java/org/apache/fineract/cn/cheque/SuiteTestEnvironment.java
index c2b5fb4..39834d9 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/cheque/SuiteTestEnvironment.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/cheque/SuiteTestEnvironment.java
@@ -21,7 +21,7 @@ package org.apache.fineract.cn.cheque;
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 = "cheques-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 01bcfea..cc63a59 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -58,7 +58,7 @@ 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.frameworkpostgresql],
[group: 'org.apache.fineract.cn', name: 'command', version: versions.frameworkcommand],
[group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
[group: 'org.threeten', name: 'threeten-extra', version: '1.2']
diff --git a/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java b/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
index 610f37c..c1bf239 100644
--- a/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/cheque/service/ChequeConfiguration.java
@@ -27,7 +27,7 @@ import org.apache.fineract.cn.customer.api.v1.client.CustomerManager;
import org.apache.fineract.cn.deposit.api.v1.client.DepositAccountManager;
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.office.api.v1.client.OrganizationManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,7 +48,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/cheque/service/internal/command/handler/ManagementAggregate.java b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/command/handler/ManagementAggregate.java
index e541246..777b281 100644
--- a/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/command/handler/ManagementAggregate.java
+++ b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/command/handler/ManagementAggregate.java
@@ -26,7 +26,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/cheque/service/internal/repository/ChequeEntity.java b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/ChequeEntity.java
index 4b0f248..40298a4 100644
--- a/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/ChequeEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/ChequeEntity.java
@@ -27,7 +27,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 = "sopdet_cheques")
diff --git a/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/IssuedChequeEntity.java b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/IssuedChequeEntity.java
index 77c2781..ee3eedf 100644
--- a/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/IssuedChequeEntity.java
+++ b/service/src/main/java/org/apache/fineract/cn/cheque/service/internal/repository/IssuedChequeEntity.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 = "sopdet_issued_cheques")
diff --git a/service/src/main/resources/application.yml b/service/src/main/resources/application.yml
index af184b4..3c3d6ef 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 92%
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 e1e99ee..c65c84b 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 sopdet_issued_cheques (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
account_identifier VARCHAR(34) NOT NULL,
last_issued_number NUMERIC(8) NOT NULL,
created_on TIMESTAMP(3) NOT NULL,
@@ -26,11 +26,10 @@ CREATE TABLE sopdet_issued_cheques (
last_modified_on TIMESTAMP(3) NULL,
last_modified_by VARCHAR(32) NULL,
CONSTRAINT sopdet_issued_cheques_pk PRIMARY KEY (id),
- CONSTRAINT sopdet_issued_cheques_uq UNIQUE (account_identifier)
-);
+ CONSTRAINT sopdet_issued_cheques_uq UNIQUE (account_identifier) );
CREATE TABLE sopdet_cheques (
- id BIGINT NOT NULL AUTO_INCREMENT,
+ id BIGSERIAL NOT NULL,
cheque_number VARCHAR(8) NOT NULL,
branch_sort_code VARCHAR(11) NOT NULL,
account_number VARCHAR(34) NOT NULL,
@@ -47,5 +46,4 @@ CREATE TABLE sopdet_cheques (
last_modified_on TIMESTAMP(3) NULL,
last_modified_by VARCHAR(32) NULL,
CONSTRAINT sopdet_cheques_pk PRIMARY KEY (id),
- CONSTRAINT sopdet_cheques_uq UNIQUE (cheque_number, branch_sort_code, account_number)
-);
+ CONSTRAINT sopdet_cheques_uq UNIQUE (cheque_number, branch_sort_code, account_number) );
diff --git a/shared.gradle b/shared.gradle
index 46edf30..459e4ba 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -19,19 +19,19 @@ group 'org.apache.fineract.cn.cheques'
version '0.1.0-BUILD-SNAPSHOT'
ext.versions = [
- frameworkapi : '0.1.0-BUILD-SNAPSHOT',
- frameworklang : '0.1.0-BUILD-SNAPSHOT',
- frameworkasync : '0.1.0-BUILD-SNAPSHOT',
- frameworkcassandra : '0.1.0-BUILD-SNAPSHOT',
- frameworkmariadb : '0.1.0-BUILD-SNAPSHOT',
- frameworkcommand : '0.1.0-BUILD-SNAPSHOT',
- frameworktest : '0.1.0-BUILD-SNAPSHOT',
- frameworkanubis : '0.1.0-BUILD-SNAPSHOT',
- frameworkoffice : '0.1.0-BUILD-SNAPSHOT',
- frameworkaccounting: '0.1.0-BUILD-SNAPSHOT',
- frameworkdeposit : '0.1.0-BUILD-SNAPSHOT',
- frameworkcustomer : '0.1.0-BUILD-SNAPSHOT',
- validator : '5.3.0.Final'
+ frameworkapi : '0.1.0-BUILD-SNAPSHOT',
+ frameworklang : '0.1.0-BUILD-SNAPSHOT',
+ frameworkasync : '0.1.0-BUILD-SNAPSHOT',
+ frameworkcassandra : '0.1.0-BUILD-SNAPSHOT',
+ frameworkpostgresql : '0.1.0-BUILD-SNAPSHOT',
+ frameworkcommand : '0.1.0-BUILD-SNAPSHOT',
+ frameworktest : '0.1.0-BUILD-SNAPSHOT',
+ frameworkanubis : '0.1.0-BUILD-SNAPSHOT',
+ frameworkoffice : '0.1.0-BUILD-SNAPSHOT',
+ frameworkaccounting : '0.1.0-BUILD-SNAPSHOT',
+ frameworkdeposit : '0.1.0-BUILD-SNAPSHOT',
+ frameworkcustomer : '0.1.0-BUILD-SNAPSHOT',
+ validator : '5.3.0.Final'
]
apply plugin: 'java'
@@ -68,7 +68,8 @@ dependencies {
)
testCompile(
- [group: 'org.springframework.boot', name: 'spring-boot-starter-test']
+ [group: 'org.springframework.boot', name: 'spring-boot-starter-test'],
+ [group: 'org.apache.fineract.cn', name: 'postgresql', version: versions.frameworkpostgresql]
)
}