[JAVA] Comparison of 2020 Standalone DB Migration Tools

Overview

Web application frameworks such as Ruby on Rails, CakePHP, and Laravel include database migration tools as standard, but there are cases where you want to manage database migration separately from the application. Here's a comparison of the migration tools available standalone.

What is database migration

An automated tool for creating databases and updating tables. The following functions are included. --Create database --Create table --DB schema version control (previously executed SQL is stored in a specific table)

DB migration tool list

Selection conditions

tool name Operating environment License DSL / RawSQL support Supported RDBMS Documents
MyBatis Migration Java Apache2.0 RawSQL only JDBC driver exists
All RDBMS
Yes
liquibase Java Apache2.0 Both MySQL, PostgreSQL,
Oracle, Sql Server,
Sybase_Enterprise, Sybase_Anywhere,
DB2 , Apache_Derby
derby, HSQL,
H2, Informix,
Firebird, SQLite
Yes
Flyway Java Apache2.0 Both Oracle, SQL Server, Aurora MySQL, MariaDB,
Percona XtraDB Cluster, PostgreSQL,
Aurora PostgreSQL, Redshift,
CockroachDB, SAP HANA,
Sybase ASE, Informix,
H2, HSQLDB,
Derby and SQLite
Yes
phpmig PHP None RawSQL only MySQL, MariaDB,
PostgreSQL
GitHub README only
phinx PHP MIT Both ? Yes
ridgepole Ruby MIT Both For RDB client
All RDBMSs with Gem
GitHub README only
migrate Go MIT DSL only SQLite3, PostgreSQL,
MySQL, SQL Server,
Cassandra, RedShift,
Yes
sql-migrate Go MIT Both SQLite, PostgreSQL,
MySQL, SQL Server,
Oracle
GitHub README only
goose Go MIT Both postgres, mysql,
sqlite3
BitBucket README only
alembic Python MIT Both MySQL, SQLServer,
Postgresql, SQLite
Yes
simple-db-migrate Python Apache2.0 RawSQL only MySQL, SQLServer,
Postgresql
GitHub README only
yoyo-migrations Python Apache2.0 Both MySQL, SQLServer,
Postgresql, SQLite
Yes
db-migrate node.js MIT Both Mysql, PostgreSQL,
sqlite3, Mongodb
Yes

(reference) https://qiita.com/nownabe/items/1acce9f6b9f14f74c965 https://qiita.com/k-motoyan/items/6f64d650f14bfb180e54 https://qiita.com/narikei/items/8a71c5439edc9cb66550 https://qiita.com/okoppe8/items/c9f8372d5ac9a9679396

Recommended Posts

Comparison of 2020 Standalone DB Migration Tools
Comparison of LDA implementations
Comparison of online classifiers
SQLAlchemy + DB migration by Alembic
Comparison of Apex and Lamvery