Skip to content

FINERACT-1398: Standardize charset and collation defaults#5573

Open
airajena wants to merge 1 commit intoapache:developfrom
airajena:FINERACT-1398/standardize-character-set-collation
Open

FINERACT-1398: Standardize charset and collation defaults#5573
airajena wants to merge 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.

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.

1 participant