Skip to content

FINERACT-535: Allow the same name of teller if its from different bra…#6087

Open
dr-fuch wants to merge 1 commit into
apache:developfrom
dr-fuch:fix/FINERACT-535
Open

FINERACT-535: Allow the same name of teller if its from different bra…#6087
dr-fuch wants to merge 1 commit into
apache:developfrom
dr-fuch:fix/FINERACT-535

Conversation

@dr-fuch

@dr-fuch dr-fuch commented Jul 4, 2026

Copy link
Copy Markdown

Description

This PR resolves an issue with teller name uniqueness restrictions. Previously, the unique key constraint (m_tellers_name_unq) prevented creating tellers with the same name across different offices (e.g., having a "TELLER 1" in both OFFICE 1 and OFFICE 2).

The unique key has been updated to m_tellers_office_name_unq to include the office_id in the constraint scope, allowing duplicate teller names as long as they belong to different branches.

Changes Included

  • Database Schema & Migrations:

    • Created Liquibase migration 0242_update_m_tellers_unique_key.xml to safely drop the old constraint and apply the new composite unique key (name, office_id) for both MySQL and PostgreSQL productive instances.
    • Registered the new migration file into the master changelog-tenant.xml.
    • Updated initial database seeds (barebones_db.sql and load_sample_data.sql) to reflect the new constraint name.
  • Service & Error Handling:

    • Updated data integrity violation handling in TellerWritePlatformServiceJpaImpl. It now correctly detects and intercepts the new m_tellers_office_name_unq constraint violation message instead of the legacy one.
  • Automated Tests:

    • Added comprehensive unit tests in TellerWritePlatformServiceJpaImplTest to cover the new exception handling paths and ensure regression safety.

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • [ X] Write the commit message as per our guidelines
  • [ X] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.
  • [ X] Create/update unit or integration tests for verifying the changes made.
  • [ X] Follow our coding conventions.
  • [ X] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes
  • [ X] This PR must not be a "code dump". Large changes can be made in a branch, with assistance. Ask for help on the developer mailing list.

Your assigned reviewer(s) will follow our guidelines for code reviews.

@dr-fuch dr-fuch force-pushed the fix/FINERACT-535 branch from 459d1ce to 2dcf881 Compare July 4, 2026 14:39
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