As I continue to play with JHipster, I've run into an issue of getting liquibase to work with my development database. Out of the box, I decided to use in-memory H2 as a dev database and MySQL in production. This seemed reasonable when I started, but I quickly discovered that if I try to add a change set to load data into my database using liquibase, it doesn't work with in-memory H2. It looks like liquibase is only going to work with more persistent databases.
When generating a data model from JHipster JDL, we will often declare entities with Boolean fields. I have so far abandoned H2 as a database because of liquibase issues, and both my dev and production databases will be MySQL. This is relevant to the Boolean field desire there is a long history in software development of how to store Boolean data types in a SQL database whose standards classically do not support Boolean. In the current JHipster/Liquibase incarnation, tables in MySQL are generated for us, which is really nice. The Boolean data types are stored as BIT (1). This is not a problem so far -- most developers seem to agree now that as a best practice, we should store values in databases as false = 0 and true = 1, and a BIT(1) is a great, simple way to do that. An issue arises when we try to use liquibase to set/update our database to the desired starting state. For my project, I've chosen gradle instead of maven as a build tool, and gradle has a plugin for liquiba
Comments
Post a Comment