Database SQL script automation management tools investigation

Recently researched about database SQL scripts auto management tools, recorded the results here.

Researched 3 tools used a lot from internet surfing, as well as posts and blogs of other developers.

DBdeploy

http://dbdeploy.com/

This is a Ant plugin tool, which can only execute SQL files from Ant task.

Liquibase

http://www.liquibase.org/index.html

This is a powerful tool for managing Database schema and apply init, update, rollback.

But it manage db changes in XML format, not well used for SQL files.

Flyway

http://flywaydb.org/

This is a suitable DB automation tools, developed by famous intelliJIDEA.

http://www.jetbrains.com/idea/

It support rich functions of database management and is easily integrated with JAVA and Spring framework.

Migrate from any version (incl. an empty database) to the latest version of the schema
Plain Old Sql
Plain SQL scripts (incl. placeholder replacement). No proprietary XML formats, no lock-in.
No limits
Java-based migrations for advanced data transformations and handling with LOBs
Zero required dependencies
All you need is Java 5+ and your Jdbc driver and you're good to go!
Convention Over Configuration
Classpath Scanning to automatically discover Sql and Java migrations
Highly reliable
Safe for cluster environments (Multiple machines can migrate in parallel)
Cloud support
Runs on Google App Engine with full support for Google Cloud SQL
Auto-migration on startup
Ship migrations together with the application and run them automatically on startup using the API
Fail fast
Inconsistent database or failed migration prevents app from starting.
Schema Clean
Drop all tables, views, triggers, ... from a schema without dropping the schema itself

 

posted on 2013-10-16 13:38  love so much  阅读(227)  评论(0编辑  收藏  举报

导航