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 <[email protected]> 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] ) }
