Existen diversos tipos de herramientas para realizar migraciones de bases de datos (Schema migration, database migration, database change management en inglés). Estas herramientas están diseñadas para administrar cambios incrementales y reversibles sobre esquemas de bases de datos relacionales.
Una migración sobre un esquema es realizada siempre que se necesite actualizar o revertir un cambio sobre un esquema de una base de datos relacional.
En este texto, mostraré las herramientas disponibles y de las más oídas para trabajar con migraciones para bases de datos.
Flyway
Herramienta desarrollada para interactuar con Java
Bases de datos soportadas:
- Oracle
SQL Server
SQL Azure
DB2
MySQL
MariaDB
Google Cloud
PostgreSQL
Redshift
Otras…
Herramientas de Java con las que interactua
- Maven
Gradle
Ant
6 Comandos básicos
- Migrate
Clean
Info
Validate
Baseline
Repair
Liquibase
Herramienta desarrollada para interactuar con Java
Bases de datos soportadas
- MySQL
PostgreSQL
Oracle
SQL Server
Sybase
DB2
Apache Derby
Otras
Herramientas Java con las que interactua
- Maven
Ant
Muchos comandos dependiendo de lo que se quiera hacer
Datical DB
Sin interacción directa con Java
Bases de datos soportadas
- Oracle
DB2
MySQL
SQL Server
PostgreSQL
Otras
Muchos comandos dependiendo de lo que se quiera hacer. Similar a Liquibase.
Active Record (migrations)
Herramienta hecha con Ruby
Bases de datos soportadas
- PostgreSQL
MySQL
Comandos basados en definir cosas en Ruby
Ruckusing-migrations
Herramienta hecha en PHP
Bases de datos soportadas
- PostgreSQL
MySQL
Sqlite
Varios comandos basados en lo que se quiera hacer.
Phinx
Herramienta hecha en PHP
Bases de datos soportadas
- MySQL
PostgreSQL
SQLite
SQL Server
Varios comandos basados en lo que se quiera hacer.
MyBatis Migrations
Framework de persistencia para Java.
Bases de datos soportadas
- Cualquiera bajo JDBC
Configuración basada en SQL, Java y XML
Ragtime
Biblioteca para realizar migraciones de datos estructurados hecha en Clojure
Bases de datos soportadas
- Cualquiera bajo JDBC
Configuración basada en SQL
Lobos
Biblioteca para realizar migraciones de bases de datos escrita en Clojure.
Bases de datos soportadas
- H2
MySQL
PostgreSQL
SQLite
SQL Server
Configuración bajo clojure