This is an automated email from the ASF dual-hosted git repository.

aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git

commit 5df284aad127fc38bc7926b091a0fd0bfcaa3049
Author: Adam Saghy <[email protected]>
AuthorDate: Sun Aug 7 23:13:14 2022 +0200

    FINERACT-1670: Add auditable fields to Business date
---
 .../businessdate/domain/BusinessDate.java          |  4 +-
 .../db/changelog/tenant/changelog-tenant.xml       |  1 +
 .../0030_add_audit_entries_to_business_date.xml    | 74 ++++++++++++++++++++++
 3 files changed, 77 insertions(+), 2 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/businessdate/domain/BusinessDate.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/businessdate/domain/BusinessDate.java
index 2aef3a287..1b4df3dbf 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/businessdate/domain/BusinessDate.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/businessdate/domain/BusinessDate.java
@@ -28,12 +28,12 @@ import javax.persistence.UniqueConstraint;
 import javax.persistence.Version;
 import javax.validation.constraints.NotNull;
 import lombok.Getter;
-import org.apache.fineract.infrastructure.core.domain.AbstractAuditableCustom;
+import 
org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom;
 
 @Getter
 @Entity
 @Table(name = "m_business_date", uniqueConstraints = { @UniqueConstraint(name 
= "uq_business_date_type", columnNames = { "type" }) })
-public class BusinessDate extends AbstractAuditableCustom {
+public class BusinessDate extends AbstractAuditableWithUTCDateTimeCustom {
 
     @Enumerated(EnumType.STRING)
     @Column(name = "type")
diff --git 
a/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml 
b/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml
index 8d208a8d5..1d3bb1cfd 100644
--- 
a/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml
+++ 
b/fineract-provider/src/main/resources/db/changelog/tenant/changelog-tenant.xml
@@ -49,4 +49,5 @@
     <include file="parts/0027_add_charge_refund_permission.xml" 
relativeToChangelogFile="true"/>
     <include 
file="parts/0028_add_charge_refund_charge_type_to_loan_transaction.xml" 
relativeToChangelogFile="true"/>
     <include file="parts/0029_add_delinquency_buckets.xml" 
relativeToChangelogFile="true"/>
+    <include file="parts/0030_add_audit_entries_to_business_date.xml" 
relativeToChangelogFile="true"/>
 </databaseChangeLog>
diff --git 
a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml
 
b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml
new file mode 100644
index 000000000..60778212f
--- /dev/null
+++ 
b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0030_add_audit_entries_to_business_date.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements. See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership. The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License. You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied. See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog";
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+                   
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog 
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-4.3.xsd";>
+    <changeSet author="fineract" id="business_date-1" context="mysql">
+        <addColumn tableName="m_business_date">
+            <column name="created_on_utc" type="DATETIME"/>
+            <column name="last_modified_on_utc" type="DATETIME"/>
+        </addColumn>
+    </changeSet>
+    <changeSet author="fineract" id="business_date-1" context="postgresql">
+        <addColumn tableName="m_business_date">
+            <column name="created_on_utc" type="TIMESTAMP WITH TIME ZONE"/>
+            <column name="last_modified_on_utc" type="TIMESTAMP WITH TIME 
ZONE"/>
+        </addColumn>
+    </changeSet>
+
+    <changeSet id="business_date-2" author="fineract">
+        <dropNotNullConstraint tableName="m_business_date" 
columnName="created_date" columnDataType="datetime"/>
+        <dropNotNullConstraint tableName="m_business_date" 
columnName="lastmodified_date" columnDataType="datetime"/>
+    </changeSet>
+    <changeSet id="business_date-3" author="fineract">
+        <renameColumn tableName="m_business_date" oldColumnName="createdby_id" 
newColumnName="created_by" columnDataType="BIGINT"/>
+        <renameColumn tableName="m_business_date" 
oldColumnName="lastmodifiedby_id" newColumnName="last_modified_by" 
columnDataType="BIGINT"/>
+    </changeSet>
+    <changeSet author="fineract" id="business_date-4">
+        <addForeignKeyConstraint baseColumnNames="created_by" 
baseTableName="m_business_date"
+                                 constraintName="FK_business_date_created_by" 
deferrable="false" initiallyDeferred="false"
+                                 onDelete="RESTRICT" onUpdate="RESTRICT" 
referencedColumnNames="id"
+                                 referencedTableName="m_appuser" 
validate="true"/>
+        <addForeignKeyConstraint baseColumnNames="last_modified_by" 
baseTableName="m_business_date"
+                                 
constraintName="FK_business_date_last_modified_by" deferrable="false" 
initiallyDeferred="false"
+                                 onDelete="RESTRICT" onUpdate="RESTRICT" 
referencedColumnNames="id"
+                                 referencedTableName="m_appuser" 
validate="true"/>
+    </changeSet>
+    <changeSet id="business_date-5" author="fineract" context="mysql">
+        <preConditions onFail="MARK_RAN">
+            <sqlCheck expectedResult="0">select count(*) from 
m_business_date</sqlCheck>
+        </preConditions>
+        <addNotNullConstraint tableName="m_business_date" 
columnName="created_on_utc" columnDataType="DATETIME"/>
+        <addNotNullConstraint tableName="m_business_date" 
columnName="last_modified_on_utc" columnDataType="DATETIME"/>
+    </changeSet>
+    <changeSet id="business_date-5" author="fineract" context="postgresql">
+        <preConditions onFail="MARK_RAN">
+            <sqlCheck expectedResult="0">select count(*) from 
m_business_date</sqlCheck>
+        </preConditions>
+        <addNotNullConstraint tableName="m_business_date" 
columnName="created_on_utc" columnDataType="TIMESTAMP WITH TIME ZONE"/>
+        <addNotNullConstraint tableName="m_business_date" 
columnName="last_modified_on_utc" columnDataType="TIMESTAMP WITH TIME ZONE"/>
+    </changeSet>
+    <changeSet id="business_date-6" author="fineract">
+        <addNotNullConstraint tableName="m_business_date" 
columnName="created_by" columnDataType="BIGINT"/>
+        <addNotNullConstraint tableName="m_business_date" 
columnName="last_modified_by" columnDataType="BIGINT"/>
+    </changeSet>
+</databaseChangeLog>

Reply via email to