amarao.flyway
flyway
安装并配置 flyway 命令行工具,下载地址是 http://flywaydb.org/getstarted/download.html。它会将文件安装到 /opt/flyway,并从 /usr/bin/flyway 创建一个指向 /opt/flyway 中可执行文件的符号链接。
变更:现在角色默认使用 SSL。设置 flyway_use_ssl: false
可切换回 HTTP。
要求
Ansible 1.4 及以上版本。使用 flyway 时,主机上需要安装 Java,但即使没有 Java,此角色也能成功运行。
角色变量
所有变量都是可选的
- fly_version: (默认值:“4.2.0”)
- flyway_download_url: (默认值:“https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/%s/flyway-commandline-%s.tar.gz”)
- flyway_root: (默认值:/opt/flyway)
- flyway_config:
- database:
- dbms: (已在 PostgreSQL 和 Oracle 上测试)
- host: 数据库主机名或 IP
- port: 5432
- name: 数据库名称
- user: 用户名
- password: 用户名的密码
- schemas: 要管理的模式
- database:
- flyway_table: flyway 表(默认值:schema_history)
- flyway_locations: SQL 迁移文件的路径(如有需要,请加 'filesystem:' 前缀,请参见示例)
- flyway_symlink_location: 可执行符号链接的位置(默认值:/usr/bin)
- flyway_use_ssl: 下载二进制文件时是否使用 SSL(默认值:是)
- flyway_validate_ssl_cert: 下载时是否验证服务器的 SSL 证书(默认值:是)
依赖
无
示例 Playbook(Postgres)
- hosts: javadb
roles:
- flyway
vars:
- flyway_root: /opt/flyway
- flyway_config:
database:
host: localhost
port: 5432
dbms: postgresql
name: example
user: postgres
password: postgres
schemas: public, myschema
- flyway_locations: filesystem:/opt/migrations/
配置已在 Postgres 9.2 中测试。
示例 Playbook(Oracle)
- hosts: oracledb
roles:
- { role: flyway }
vars:
- flyway_driver: oracle.jdbc.OracleDriver
- flyway_config:
database:
dbms: oracle
host: localhost
port: 1521
name: XE
user: APP
password: appsecret
schemas: APP
- flyway_locations: filesystem:/opt/migrations/full,filesystem:/opt/migrations/demo
配置已在 Oracle XE 11 中测试。
注意:要在 Oracle 上使用 flyway,您需要将驱动程序 JAR 复制到 flyway:
- name: 将 Oracle JDBC 驱动程序复制到 Flyway 文件夹
copy: src=./lib/ojdbc6-11.1.0.7.0.jar dest=/opt/flyway/flyway-{{ flyway_version }}/drivers
sudo: yes
许可证
BSD
作者信息
(c) George Shuklin 2015-2018, rastaman 2015