Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use with a liquibase plugin #46

Open
StuporHero opened this issue Mar 6, 2015 · 2 comments
Open

Use with a liquibase plugin #46

StuporHero opened this issue Mar 6, 2015 · 2 comments

Comments

@StuporHero
Copy link

I'd like to write my liquibase changelogs using this groovy-dsl, but it is not obvious whether or not it supports liquibase plugins. If it does, an example should be added to the documentation. If it does not, support should be added along with an example.

Thanks for taking a random request from a stranger.

@stevesaliman
Copy link
Collaborator

Short answer: maybe, depending ont the plugin, and the parts of it you need to use.

The longer answer is that I haven't played with Liquibase extensions yet, but from the documentation, it looks like anything that is in the classpath at runtime would be supported by Liquibase. So things like the Logging plugins should work fine, but plugins like the Oracle plugin, will probably have issues because it introduces new Change types.

At the current time, the Groovy DSL only supports the standard Liquibase Change Set elements, so things like the Oracle plugin, which defines new kinds of changes, would not work. Liquibase has introduced a great new way to decouple parsers from Liquibase internals (called ParsedNodes), but until https://liquibase.jira.com/browse/CORE-1968 gets fixed, I can't take advantage of it.

Once that happens, I'll stop doing any validation on my end and simply create ParsedNode objects for anything I see in a Groovy file, secure in the knowledge that any invalid element will be rejected by Liquibase if it (or a plugin) can't parse it.

@StuporHero
Copy link
Author

Thanks for the information, Steve. I do need to use the Oracle plugin, so I'll look forward to the day when I can do that with this DSL. In the meantime, I guess my team will be using XML.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants