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.
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)
Selection conditions
tool name th> | Operating environment th> | License th> | DSL / RawSQL support th> | Supported RDBMS th> | Documents th> |
---|---|---|---|---|---|
MyBatis Migration | Java | Apache2.0 | RawSQL only td> | JDBC driver exists All RDBMS td> | Yes td> |
liquibase | Java | Apache2.0 | Both td> | MySQL,
PostgreSQL, Oracle, Sql Server, Sybase_Enterprise, Sybase_Anywhere, DB2 , Apache_Derby derby, HSQL, H2, Informix, Firebird, SQLite |
Yes td> |
Flyway | Java | Apache2.0 | Both td> | 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 td> |
phpmig | PHP | None | RawSQL only td> | MySQL,
MariaDB, PostgreSQL |
GitHub README only td> |
phinx | PHP | MIT | Both td> | ? | Yes td> |
ridgepole | Ruby | MIT | Both td> | For RDB client All RDBMSs with Gem td> | GitHub README only td> |
migrate | Go | MIT | DSL only td> |
SQLite3, PostgreSQL, MySQL, SQL Server, Cassandra, RedShift, |
Yes td> |
sql-migrate | Go | MIT | Both td> |
SQLite, PostgreSQL, MySQL, SQL Server, Oracle |
GitHub README only td> |
goose | Go | MIT | Both td> | postgres, mysql, sqlite3 |
BitBucket README only td> |
alembic | Python | MIT | Both td> |
MySQL,
SQLServer, Postgresql, SQLite |
Yes td> |
simple-db-migrate | Python | Apache2.0 | RawSQL only td> | MySQL,
SQLServer, Postgresql |
GitHub README only td> |
yoyo-migrations | Python | Apache2.0 | Both td> | MySQL,
SQLServer, Postgresql, SQLite |
Yes td> |
db-migrate | node.js | MIT | Both td> |
Mysql,
PostgreSQL, sqlite3, Mongodb |
Yes td> |
(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