Retain the case of database objects (tables, columns, etc.) from the … #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We ran into a problem using your liquibase-slick codegen plugin in our environment. The code generated referenced database object names (for tables, index, columns, etc) that were all upper case. This was fine for MySQL on OSX or Windows but our deployment targets are Linux and on that platform this didn't jive with the actual database names which for us are all lowercase (Linux MySQL is case sensitive by default). This happens because the intermediate H2 database that's used to drive the slick codegen uppercases all database object names by default. There is a connection option, DATABASE_TO_UPPER (default TRUE), that controls whether the case is retained rather than always uppercased in H2. Setting this setting to FALSE retains the case of the objects as specified in the Liquibase changelog which is what we were expecting to happen.
The H2 docs for that connection setting are http://www.h2database.com/javadoc/org/h2/engine/DbSettings.html#DATABASE_TO_UPPER
It's working for us with this change. We'd love for you to incorporate this into your plugin or to abstract out the H2 connection settings so this is easy to set/override in the plugin configuration.
Happy to discuss at your convenience.