amarao.flyway
フライウェイ
http://flywaydb.org/getstarted/download.html からフライウェイのコマンドラインツールをインストールおよび設定します。ファイルは /opt/flyway にインストールされ、/usr/bin/flyway から /opt/flyway のバイナリへのシンボリックリンクを作成します。
変更: 現在、役割はデフォルトで SSL を使用します。HTTP に戻すには flyway_use_ssl: false
を設定してください。
要件
Ansible 1.4+。フライウェイを使用するにはホストに 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 を使用するかどうか (デフォルト: yes)
- flyway_validate_ssl_cert: ダウンロード時にサーバーの SSL 証明書を検証するかどうか (デフォルト: yes)
依存関係
なし
例: プレイブック (PostgreSQL)
- 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/
設定は PostgreSQL 9.2 でテスト済みです。
例: プレイブック (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) ジョージ・シュクリン 2015-2018, ラスタマン 2015