lrk.flyway

Ansibleロール: Flywayコマンドラインツール (lrk.flyway)

ビルドステータス Galaxy Ansible Ansible Ansible

このAnsibleロールは、Flywayコマンドラインツールをインストールします。

サポートされるOS

このロールは以下のOSでテストされています:

  • EL - 7
  • Ubuntu - Bionic / Xenial
  • Debian - Buster / Stretch / Jessie

要件

このロールには特に要件はありませんが、Flywayを実行するにはJAVAが必要です。

ロール変数

使用可能な変数とそのデフォルト値は、以下にリストされています(defaults/main.ymlを参照)

---

  # Flywayのバージョン
  flyway_version: 6.0.1

  # Flywayエディション
  # バージョンが5.2.0以前の場合、この値は無視されます
  flyway_edition: community

  # Flywayのインストールルートパス
  flyway_install_root: /opt/flyway

  # Flywayがダウンロードされるリポジトリ(オプション)
  # デフォルト: https://repo1.maven.org/maven2
  flyway_repo_url: None

  # リポジトリの認証用ユーザー名
  # デフォルト: None
  flyway_repo_username: None

  # リポジトリの認証用パスワード
  # デフォルト: None
  flyway_repo_password: None

  # デフォルトのドライバを削除するか?
  flyway_remove_default_drivers: false

  # Maven経由でダウンロードする追加ドライバを設定
  # デフォルト: 空
  flyway_additional_mvn_drivers: []

  # Flyway設定については、https://flywaydb.org/documentation/configfilesを参照

  # データベースへの接続に使用するJDBC URL
  flyway_url: null

  # JDBCドライバの完全修飾クラス名(デフォルトでflyway.urlに基づいて自動検出されます)
  flyway_driver: null

  # データベースに接続するために使用するユーザー。指定しない場合、Flywayが入力を求めます。
  flyway_user: null

  # データベースに接続するために使用するパスワード。指定しない場合、Flywayが入力を求めます。
  flyway_password: null

  # データベースへの接続を試みる最大回数。各試行が失敗した後、Flywayは1秒待って再試行します。
  flyway_connect_retries: 0

  # データベース接続を開いた後、すぐに実行するSQLステートメント。(デフォルト: なし)
  flyway_init_sql: null

  # Flywayが管理するスキーマのカンマ区切りリスト。これらのスキーマ名は大文字と小文字が区別されます。
  flyway_schemas: []

  # Flywayのスキーマ履歴テーブルの名前(デフォルト: flyway_schema_history)
  flyway_table: 'flyway_schema_history'

  # Flywayが使用するスキーマ履歴テーブルを作成するテーブルスペース。
  # この設定はテーブルスペースをサポートしているデータベースにのみ関連します。(デフォルト: データベース接続のデフォルトテーブルスペース)
  flyway_tablespace: null

  # マイグレーションをスキャンするための場所のカンマ区切りリスト。(デフォルト: filesystem:<<INSTALL-DIR>>/sql)
  flyway_locations: []

  # カスタムMigrationResolverの完全修飾クラス名のカンマ区切りリスト。
  flyway_resolvers: []

  # trueに設定すると、デフォルトの組み込みリゾルバ(jdbc、spring-jdbc、sql)がスキップされ、カスタムリゾルバのみが使用されます。(デフォルト: false)
  flyway_skip_default_resolvers: false

  # SQLマイグレーションのエンコーディング(デフォルト: UTF-8)
  flyway_encoding: "UTF-8"

  # プレースホルダーを置き換えるべきか。(デフォルト: true)
  flyway_placeholder_replacement: true

  # SQLマイグレーションで置き換えるプレースホルダー
  flyway_placeholders_user: null
  flyway_placeholders_my_other_placeholder: null

  # プレースホルダーのプレフィックス(デフォルト: ${)
  flyway_placeholder_prefix: "${"

  # プレースホルダーのサフィックス(デフォルト: })
  flyway_placeholder_suffix: "}"

  # Flywayがマイグレーションを考慮すべきターゲットバージョン。
  flyway_target: null

  # migrateを実行する際に、自動的にvalidateを呼び出すべきか。(デフォルト: true)
  flyway_validate_on_migrate: true

  # validateエラーが発生したときに自動的にcleanを呼び出すべきか。(デフォルト: false)
  flyway_clean_on_validation_error: false

  # すでに存在するスキーマに対してbaselineを実行する際にタグを付けるバージョン。(デフォルト: 1)
  flyway_baseline_version: 1

  # baselineを実行する際にタグを付ける説明。(デフォルト: << Flyway Baseline >>)
  flyway_baseline_description: "Flyway Baseline"

  # マイグレーションが適用される順番を混ぜられるか。(デフォルト: false)
  flyway_out_of_order: false

  # マイグレーション実行時にクエリの結果を含むテーブルを出力するか。(デフォルト: true)
  flyway_output_query_results: true

  # Flywayライセンスキー(FL01...)。まだFlyway ProまたはEnterprise Editionの顧客ではありませんか?
  flyway_license_key: null

依存関係

なし

例のプレイブック

    - hosts: servers
      roles:
         - lrk.flyway

ライセンス

Apacheライセンスバージョン2.0

参考文献

著者情報

このロールはLrkによって作成されました。

プロジェクトについて

An Ansible Role that install Flyway Command-line Tool.

インストール
ansible-galaxy install lrk.flyway
ライセンス
apache-2.0
ダウンロード
13.9k
所有者