Uploaded image for project: 'DBFlute'
  1. DBFlute
  2. DBFLUTE-312

{Java/C#}: 環境変数で環境ごとの設定ファイル切り替えを実現する

XMLWordPrintable

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • Component/s: None
    • None

      主なターゲットは、ReplaceSchemaのenvironmentType。
      しかし、DBの接続先にも同じ話が通用する。

      案として:

      DBFluteのbatやshの中で環境変数としてフェーズを認識するようにして、
      ANTの実行時のプロパティ引数として指定できるようにする。
      (なければないで動くようにする)
      
      ANTタスクの中で、フェーズが指定されていれば、
      「dfprop」配下のプロパティファイルの取得時に「dfprop/フェーズ」配下の
      同じ名前のdfpropを優先してみるようにする。(あれば使う、なければデフォルト)
      

      こうすることで、dfpropを一括で切り替え可能になる。
      replaceSchemaだけ切り替えたい場合は、
      replace-schema.bat(.sh)にだけその環境変数を定義すれば良い。
      (replace-schema_ut.batとかreplace-schema_it.batとかを作成する)
      PCの環境変数に定義すれば全てのタスクが切り替え対象になる。

      基本的なターゲットは
      o replaceSchemaDefinitionMap.dfprop
      o databaseInfoMap.dfprop
      である。
      その他も切り替え対象にはなるが、必要性はこの2つだけと思われる。

      しかしながら、環境変数でフェーズ(ut/it/real)を指定して、
      replaceSchemaDefinitionMap.dfpropでもenvType(ut/it/real)を
      指定するのは冗長なので、replaceSchemaDefinitionMap.dfpropで
      environmentTypeが省略されている場合は、環境変数のフェーズを
      そのままreplaceSchemaのenvironmentTypeとして扱っても良さそう。
      すると、実質、replaceSchemaDefinitionMap.dfpropは切り替えなくてもよい。

      【課題】
      作者があまりWinコマンドやシェルに詳しくないこと。
      解決策はネットで調べる。。。

            Assignee:
            jflute jflute
            Reporter:
            jflute jflute
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: