Webanwendungsframeworks wie Ruby on Rails, CakePHP und Laravel enthalten standardmäßig Datenbankmigrationstools. In einigen Fällen möchten Sie die Datenbankmigration jedoch getrennt von der Anwendung verwalten. Hier werden wir die Migrationstools vergleichen, die eigenständig verwendet werden können.
Ein automatisiertes Tool zum Erstellen von Datenbanken und Aktualisieren von Tabellen. Die folgenden Funktionen sind enthalten. --Datenbank erstellen --Tabelle erstellen --DB-Schema-Versionskontrolle (zuvor ausgeführtes SQL wird in einer bestimmten Tabelle gespeichert)
Auswahlbedingungen
Werkzeugname th> | Betriebsumgebung th> | Lizenz th> | DSL / RawSQL-Unterstützung th> | Unterstütztes RDBMS th> | Dokument th> |
---|---|---|---|---|---|
MyBatis Migration | Java | Apache2.0 | Nur RawSQL td> | JDBC-Treiber vorhanden Alle RDBMS td> | Ja td> |
liquibase | Java | Apache2.0 | Beide td> | MySQL,
PostgreSQL, Oracle, Sql Server, Sybase_Enterprise, Sybase_Anywhere, DB2 , Apache_Derby derby, HSQL, H2, Informix, Firebird, SQLite |
Ja td> |
Flyway | Java | Apache2.0 | Beide 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 |
Ja td> |
phpmig | PHP | None | Nur RawSQL td> | MySQL,
MariaDB, PostgreSQL |
Nur GitHub README td> |
phinx | PHP | MIT | Beide td> | ? | Ja td> |
ridgepole | Ruby | MIT | Beide td> | Für RDB-Client Alle RDBMS mit Gem td> | Nur GitHub-README td> |
migrate | Go | MIT | Nur DSL td> |
SQLite3, PostgreSQL, MySQL, SQL Server, Cassandra, RedShift, |
Ja td> |
sql-migrate | Go | MIT | Beide td> |
SQLite, PostgreSQL, MySQL, SQL Server, Oracle |
Nur GitHub-README td> |
goose | Go | MIT | Beide td> | postgres, mysql, sqlite3 |
Nur BitBucket-README td> |
alembic | Python | MIT | Beide td> |
MySQL,
SQLServer, Postgresql, SQLite |
Ja td> |
simple-db-migrate | Python | Apache2.0 | Nur RawSQL td> | MySQL,
SQLServer, Postgresql |
Nur GitHub README td> |
yoyo-migrations | Python | Apache2.0 | Beide td> | MySQL,
SQLServer, Postgresql, SQLite |
Ja td> |
db-migrate | node.js | MIT | Beide td> |
Mysql,
PostgreSQL, sqlite3, Mongodb |
Ja td> |
(Referenz) 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