Configuracin de Flyway para una nueva base de datos.
1. Descargar Flyway http://flywaydb.org/getstarted/download.html (Command-line Tool) y el driver de jdbc en la versin correcta. 2. Descomprimir flyway dentro del directorio de instalacin de programas ($home_flyway). 3. Mover el driver jdbc dentro: mv $home_user/Descargas/[driver_jdbc] $home_flyway/jars[driver_jdbc] 4. Editar el archivo de propiedades $home_flyway/conf/flyway.properties flyway.driver=org.postgresql.Driver flyway.url=jdbc:postgresql://localhost:5432/flyway flyway.user=postgres flyway.password=postgres flyway.schemas=public flyway.table=schema_version flyway.locations=sql flyway.jarDir=/usr/local/share/flyway/jars flyway.sqlMigrationPrefix=V flyway.sqlMigrationSuffix=.sql flyway.encoding=UTF-8 flyway.placeholders.user=value flyway.placeholders.my_other_placeholder=value123 flyway.placeholderPrefix=#[ flyway.target=5.1 flyway.validateOnMigrate=true flyway.cleanOnValidationError=false flyway.initDescription="Inicializacion de flyway" flyway.initOnMigrate=false flyway.outOfOrder=false 5. Crear una carpeta dentro de flyway para almacenar los scripts: mkdir $home_flyway/scripts 6. Crear una carpeta llamada flycod: mkdir $home_flyway/flycode 7. Extraer el jar de flyway dentro de la carpeta flycode: cd $home_flyway/flycode && jar -xf $home_flyway/bin/flyway-commandline-1.4.1.jar 8. Sustituir en el archivo flyway la siguiente lnea: $JAVA_CMD -jar -cp /opt/flyway bin/flyway-commandline-1.4.1.jar $@ 9. Agregando lo siguiente "$JAVA_CMD" -cp .:/usr/local/share/flyway/bin/*:./usr/local/share/flycode com.googlecode.flyway.commandline.Main $@ -consoleWidth=$CONSOLE_WIDTH Fuente: http://www.nixhat.com/2011/06/configure-google-flyway-command-line-tool/ Inicializar una base de datos nueva Al inicializar una nueva base de datos Flyway se ejecuta el comando init. > flyway init Flyway crea una tabla extra dentro de ella: schema_version que tiene la siguiente estructura. Para ms informacin esta la documentacin oficial: http://flywaydb.org/getstarted/howFlywayWorks.html y http://flywaydb.org/documentation/commandline/init.html Migrar una nueva base de datos Para ejecutar una migracin se utiliza el comando migrate.: > flyway migrate El comando ejecutar todos los scripts de versin mayor a la ltima versin ingresada, por eso es recomendable utilizar timestamps como indicador de versin. Ms informacin en la documentacin oficial: http://flywaydb.org/documentation/commandline/migrate.html Otros comandos interesantes Clean: elimina todos los objetos que fueron configurados en la tabla incluso vaca la tabla esquema. Validate: valida las migraciones aplicadas Info: muestra el detalle de la tabla de esquema Repair: repara la metadata luego de una falla durante una migracin Todos los comandos se ejecutan: > flyway [options] command La documentacin para command-line se encuentra aqu http://flywaydb.org/documentation/commandline/