Skip to content

FINERACT-1398: Standardize charset and collation defaults#5573

Merged
galovics merged 1 commit intoapache:developfrom
airajena:FINERACT-1398/standardize-character-set-collation
Mar 6, 2026
Merged

FINERACT-1398: Standardize charset and collation defaults#5573
galovics merged 1 commit intoapache:developfrom
airajena:FINERACT-1398/standardize-character-set-collation

Conversation

@airajena
Copy link
Contributor

@airajena airajena commented Mar 2, 2026

Summary

This PR standardizes MySQL/MariaDB charset/collation defaults for Fineract to:

  • Charset: utf8mb4
  • Collation: utf8mb4_unicode_ci

It applies the standard to database creation paths, runtime datatable creation SQL, and Liquibase-managed tenant/tenant-store databases.

What Changed

  1. Database creation tasks updated
  2. Datatable DDL standardized
  3. Liquibase migrations added
  4. Unit test added

Validation Performed

  • ./gradlew :fineract-provider:test --tests org.apache.fineract.infrastructure.dataqueries.service.DatatableWriteServiceImplTest
  • ./gradlew spotlessApply spotbugsMain spotbugsTest checkstyleMain checkstyleTest

All passed locally.

Backward Compatibility / Risk

  • No API contract changes.
  • No functional change to business workflows.
  • Scope is limited to DB charset/collation defaults and datatable DDL generation.
  • Migration is idempotent in practice for target DB engines and is safe for incremental rollout.

Notes

  • This PR focuses on runtime/schema defaults and Liquibase migration paths for MySQL/MariaDB.
  • Existing historical/sample SQL files were not bulk-rewritten in this PR to keep scope tight and reviewable.

@airajena airajena force-pushed the FINERACT-1398/standardize-character-set-collation branch from b037011 to 5143044 Compare March 4, 2026 05:08
Copy link
Contributor

@IOhacker IOhacker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@galovics galovics merged commit f797e1f into apache:develop Mar 6, 2026
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants