IDENTIFIER_CASE¶
Description¶
This setting determines how the system handles the case of SQL identifiers. The setting affects table names, column names, and other database identifiers during migration and sql operations.
Type¶
String: Upper/Lower/Original
Default¶
Original
Case Handling Options¶
- Upper
Converts all identifiers to uppercase
Example: “MyTable” becomes “MYTABLE”
Consistent with many legacy systems
May improve compatibility
- Lower
Converts all identifiers to lowercase
Example: “MyTable” becomes “mytable”
Common in modern databases
PostgreSQL default behavior
- Original
Preserves the original case
Example: “MyTable” remains “MyTable”
Most flexible option
May require careful coding
Implementation Details¶
Applied during SQL generation
Affects all database operations
Cached for performance
Thread-safe implementation
Database Compatibility¶
- Microsoft SQL Server
Case-insensitive by default
Configurable behavior
Quotation rules
- PostgreSQL
Case-sensitive by default
Automatic lowercasing
Quotation requirements
- Oracle
Uppercase by default
Case-sensitive with quotes
Historical conventions
Error Handling¶
Invalid case specification
Identifier conflicts
Quote handling
Name resolution issues
Migration Considerations¶
Source database conventions
Target system requirements
Application dependencies
Case sensitivity impacts
Best Practices¶
Consistent usage across applications
Document case conventions
Consider cross-platform needs
Test case-sensitive operations