RFE: Allow special primordial changeset

I have an idea for a Liquibase feature.

I find that for unit testing I often have to create the schema that I am using as the default schema name.  This is because I’m often running Liquibase on a blank, in-memory H2 database.  But right now I can’t do this with a changeset–the minimum requirement is that the default schema has to exist before Liquibase can connect.

As part of solving this problem, but generalizing out a bit, what I’d like is a way to designate certain changesets as being

I’d be curious to hear what others think.


Being able to create schemas is definitely a recurring question people have. It might be good to use a completely different tag than changeSet since I think that it implies it will be tracked. Maybe a or tag. 

I do tend to think that sort of setup doesn’t really belong in liquibase but should be handled by whatever is getting the database connection that liquibase will use. In normal usage, there is often schema/database configuration parameters that will vary from machine to machine and so I’ve generally thought it would fall outside the scope of liquibase. Especially if we aren’t tracking that it ran or not, it seems more like an SQL script that should be ran before liquibase is ran.

At the same time, it is a popular request. 

I created http://liquibase.jira.com/browse/CORE-899 so it doesn’t get lost