You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Liquibase to perform a diff-changelog operation with specific schemas, it appears that Liquibase fails to properly recognize and compare schema names containing the letter "i" (for example, "Notif"). The command is executed to compare differences between specified schemas and generate a changelog file. However, schema names containing the letter "i" seem to be ignored by Liquibase. This issue may be related to case sensitivity and language settings, requiring careful consideration of the interaction between Liquibase and SQL Server regarding case sensitivity. Here's the Liquibase command experiencing the issue:
1 - Prepare a SQL Server database with schemas containing and not containing the letter 'i'.
2- Using CLI, run the following Liquibase command directly from PowerShell. This command includes schemas with and without the letter 'i' in the --schemas parameter: liquibase diff-changelog --changelog-file=sample.xml --includeSchema=true --schemas=Notif,net --url="jdbc:sqlserver://SQLDB;databaseName=POC_TEST;encrypt=false;username=test_user;password=TestD@ta.!" --reference-url="jdbc:sqlserver://SQLDB;databaseName=POC_DEV;encrypt=false;username=dev_user;password=DevD@ta.!"
Expected/Desired Behavior
After a fix, Liquibase will successfully recognize schema names containing the letter 'i' and compare changes between these schemas accurately.
Liquibase Version
4.27.0
Database Vendor & Version
Microsoft SQL Server 2017 (RTM-CU31-GDR) (KB5029376) - 14.0.3465.1 (X64) Jul 30 2023 15:31:58 Copyright (C) 2017 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Standard 10.0 (Build 14393: ) (Hypervisor)
Liquibase Integration
CLI
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
Windows 10
Additional Context
No response
Are you willing to submit a PR?
I'm willing to submit a PR (Thank you!)
The text was updated successfully, but these errors were encountered:
@mehmet-acar-oyakgm thank you for reporting this issue, it's a weird edge case and it goes even further than the letter 'i'.
To reproduce this, both databases need to have the collation Turkish_CI_AS - if one of them doesn't, the command will work as expected.
When both have that collation, even using include-schemas=true, without specifying which ones, will cause the error if there are schemas with an 'i' in them.
Search first
Description
When using Liquibase to perform a diff-changelog operation with specific schemas, it appears that Liquibase fails to properly recognize and compare schema names containing the letter "i" (for example, "Notif"). The command is executed to compare differences between specified schemas and generate a changelog file. However, schema names containing the letter "i" seem to be ignored by Liquibase. This issue may be related to case sensitivity and language settings, requiring careful consideration of the interaction between Liquibase and SQL Server regarding case sensitivity. Here's the Liquibase command experiencing the issue:
liquibase diff-changelog --changelog-file=1sample.xml --includeSchema=true --schemas=Notif,net --url="jdbc:sqlserver://SQLDB;databaseName=POC_TEST;encrypt=false;username=test_user;password=TestD@ta.!" --reference-url="jdbc:sqlserver://SQLDB;databaseName=POC_DEV;encrypt=false;username=dev_user;password=DevD@ta.!"
Steps To Reproduce
1 - Prepare a SQL Server database with schemas containing and not containing the letter 'i'.
2- Using CLI, run the following Liquibase command directly from PowerShell. This command includes schemas with and without the letter 'i' in the --schemas parameter:
liquibase diff-changelog --changelog-file=sample.xml --includeSchema=true --schemas=Notif,net --url="jdbc:sqlserver://SQLDB;databaseName=POC_TEST;encrypt=false;username=test_user;password=TestD@ta.!" --reference-url="jdbc:sqlserver://SQLDB;databaseName=POC_DEV;encrypt=false;username=dev_user;password=DevD@ta.!"
Expected/Desired Behavior
After a fix, Liquibase will successfully recognize schema names containing the letter 'i' and compare changes between these schemas accurately.
Liquibase Version
4.27.0
Database Vendor & Version
Microsoft SQL Server 2017 (RTM-CU31-GDR) (KB5029376) - 14.0.3465.1 (X64) Jul 30 2023 15:31:58 Copyright (C) 2017 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Standard 10.0 (Build 14393: ) (Hypervisor)
Liquibase Integration
CLI
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
Windows 10
Additional Context
No response
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: