While there many great tools for managing your database changes, none are as easy as they should be. Your database schema is as important to your application as your source code and you need to be able to work with it just as easily.
You need to be able to:
- Know your database matches what the code expects
- Right-click on a Table -> Refactor Menu -> Add Column
- Right-click on a Table->Show Change History
- Automatically capture SQL commands as you run them for later execution on other systems
- Quickly revert database changes you shouldn't have made
- Know your changes will successfully transfer to everyone else on your team, go through QA and make it into production
You want something like Intellij/Eclipse/Resharper for your database.
You need: Liquibench
Why not just use [Insert Tool Here]?
There are a lot of database tools on the market, but none really solve the database change problem for the average developer. Some are too enterprise-y with excessive features and excessive prices. Some rely on database "diff" functionality that will lead to lost data. Some don't track changes in a way that can handle code branches--or even multiple developers. Some work for only certain database vendors. Some are are arcane and difficult to use.
What makes Liquibench Different?
Liquibench is different because it takes the proven database change management functionality of Liquibase and adds time-saving and error-reducing ease of use.
What is the relationship between Liquibase and Liquibench?
I created Liquibase as an open source project over 6 years ago to solve my database change management problems. Over the years it has grown in features and popularity, but it has remained a command-prompt/manual-XML-typing tool.
I've made several attempts at a "Liquibase IDE" over the years, but they've never made it beyond a beta/proof of concept stage. A full-featured, user friendly application is a significant undertaking and I've been unable to dedicate enough time to continue advancing both Liquibase itself and an IDE on top of it.
Liquibench is a new attempt at answering that IDE demand by taking a commercial approach. With kickstarter funding, I can create the team required to finally create and support the easy to use interface on top of Liquibase that is so often asked for.
Liquibase will always be free, always be open source. Liquibench will be a paid commercial product with the goal of bringing Liquibase to the masses.
What will Liquibench do?
The goal of Liquibench is to expose the standard Liquibase features in a more user friendly manner. In particular, you will be able to:
- Automatically generate change log entries as you make database changes
- Provide a wizard style-interface for all available database change commands
- Update your database
- Tag your database
- Rollback your database
- View change history
- View pending changes
- Handle advanced Liquibase features such as nested changelogs, contexts, preconditions, and extensions/plugins.
- Generate stubs and configuration files to integrate Liquibase into your application
What will Liquibench cost?
Liquibench will be licensed per developer with a pricing target of around $50-$75/developer.
Can we really pull it off / What is the money for?
Yes we can! I've experimented/tested several proof of concept versions over the years on my own. I know the problems, I know the solutions, and I know the roadmap to get there. With the kickstarter money I will be able to provide a small team with enough pizza to finish off the work I've started.
More importantly, we will have the ongoing resources needed to keep Liquibench current with new Liquibase features as they are added and contribute new functionality back to the base Liquibase library.
The money will be used to bring on the Liquibench team and keep us fed and focused. Of course, the more money we can raise the bigger the team, the quicker Liquibench will be released, and the better it will be.
What is the timeline?
The plan is for an initial beta by the end of September with a 1.0 release by the end of December, 2013.
Is Liquibench a stand alone application or an IDE plugin?
It's a question I go back and forth on. Picking one IDE to plug into leaves users of other tools out, but also makes makes users of that IDE more efficient. I'm leaning to a stand alone application so we can optimize the user experience and provide functionality to everyone, but if you contribute at a pre-alpha access level you can be part of the final decision making process in this and other questions.
What operating systems will be supported?
Liquibench will support Windows, Mac and Linux
Will Liquibench work in my Java/.Net/PHP/Ruby/Python/C/whatever project?
Liquibase is written in Java, but that does not stop you from running it against any database regardless of your project technology stack. Liquibench will support updating, tagging, rolling back, and other interactions with any database directly from within the UI.
What databases will be supported?
The 1.0 version will support
Later versions will support additional databases.