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
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
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
Database SQL script automation management tools investigation的更多相关文章
- csharp:SMO run sql script
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- SQLServer学习-- Microsoft SQL Server 2008 Management Studio Express
Microsoft SQL Server 2008 Management Studio Express is a free, integrated environment for accessing, ...
- Windows Server 2003 Sp2 下无法安装SQL Server 2008 Management Studio Express问题
Windows Server 2003 Sp2 下无法安装SQL Server 2008 Management Studio Express问题钉子 发表于 2010-5-22 1:42:51问题描述 ...
- How to Enable Trace or Debug for APIs executed as SQL Script Outside of the Applications ?
In this Document Goal Solution 1: How do you enable trace for an API when executed from a SQL ...
- MySQL5.7: sql script demo
-- MyISAM Foreign Keys显示不了外键,MyISAM此为5.0 以下版本使用 InnoDB 为5.0以上版本使用 drop table IF EXISTS city; CREATE ...
- SQLite: sql script demo
如果有成熟的架构,如何根据数据库关系的表.视图等,进行代码生成架构?减少写代码的时间? -- 考虑主键外键 -- create database geovindu; use geovindu; --2 ...
- Data Management and Data Management Tools
Data Management ObjectivesBy the end o this module, you should understand the fundamentals of data m ...
- Building Applications with Force.com and VisualForce(Dev401)(十七):Data Management: Data management Tools
ev401-018:Data Management: Data management ToolsModule Objectives1.List objects exposed in the impor ...
- go database/sql sql-driver/mysql 操作
这里使用的是github.com/Go-SQL-Driver/MySQL, 所以需要下载一个github.com/Go-SQL-Driver/MySQL 引入 database/sql 和 githu ...
随机推荐
- AspectJ AOP例子
最近在学习Spring AOP,其中涉及到AspectJ的AOP框架.主要参考:http://howtodoinjava.com/spring/spring-aop/spring-aop-aspect ...
- umount.nfs device busy day virsh extend diskSpace, attachDisk
KVM中linux虚拟机的硬盘添加方法 最近虚拟机中运行的东西比较多,很多.而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了.网上查了下资料,自己也做了下实验.总 ...
- kafka学习(一)-背景及架构设计
概念和术语 消息,全称为Message,是指在生产者.服务端和消费者之间传输数据. 消息代理:全称为Message Broker,通俗来讲就是指该MQ的服务端或者说服务器. 消息生产者:全称为Mess ...
- 判断一个指定的Service是否存在的方法
这是一个判断一个指定的Service是否存在的方法.它被用于监视一个Service是否由于已经运转,如果由于各种原因Service已经被停止了.这是在重新启动指定Service.它被用于一个Appli ...
- 软件介绍:搜索工具 Listary
如今的互联网时代,搜索的重要性我想大家都是认可的.网上的知识浩如烟海,而搜索引擎是通向这些知识的入口.谷歌.百度等搜索引擎给我们带来了极大的便利,也无怪他们成长为如今的互联网巨头. 然而储存在个人硬件 ...
- 现在网页中流行的css3样式
1.鼠标放在圆形图片中,图片渐渐的变方形[17素材头像的特效,觉得不错就研究下来了 ———— 17sucai.com] img{border-radius:50%;transition: all .4 ...
- C# 实现磁性窗体
可以实现窗体的 吸附 移动 分离 using System; using System.Drawing; using System.Collections.Generic; using Sys ...
- 并发编程:c++11 多线程中随机数重复问题
srand(time(NULL)); 是我们熟悉的c++随机函数,用时间做种子.但由于在多线程环境下若想在子线程中随机出不同的随机数则需随机种子的不同.但time以秒计算,略显不足,故参考这篇文章解决 ...
- atan(正切函数)
atan函数:返回数值的余切值 原型:double atan(double x) <pre name="code" class="cpp">#inc ...
- NETTY 编码器介绍
1. 背景 1.1. 编解码技术 通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途. 反之,解码(Decod ...