#検証 GeneXusのバージョン管理について②
2021年08月10日こんにちは、植田です。
早速ですが、GeneXusのバージョン管理について検証していきたいと思います。
今回は1つのシステム内での過去バージョンとの差分抽出を行ってみます。
本記事ではGeneXusによるWEBアプリケーションに対し一定期間ごとに 改修を加え、
再リリースを行っていく 場面を想定し、
・ オブジェクトの差分は拾えるのか
・ DBの再編成はどのように取得できるのか
に焦点を当てて進めていきます。
(参考 ) KBのフリーズ
今回は以下のトランザクションオブジェクトを保有するKBに対してフリーズを行います。
フリーズは表示メニュー→バージョンにて行います。
バージョンタブ内にKB名の枠が表示されますので右クリック→
フリーズを選択し、名前とデスクリプションを指定します。
作成が完了すると、新たにバージョンが作成されます。(上が現在のKB、下がフリーズバージョン)
■オブジェクトの差分取得について
ここから本題となります。
まず、フリーズが終わった段階でアプリケーションの改修を行います。
今回の改修では、
・入力必須ルールの追加
・項目属性の変更(値の拡張)
・項目属性の削除
を実施しました。
(改修後)
ここからフリーズバージョンと最新KBの比較を行う場合の手順となります。
ナレッジベースバージョンツリーのフリーズした方の枠を右クリック→
アクティブバージョンと比較を選択します。
比較機能タブが表示されフリーズバージョンから変更されたオブジェクトのみ抽出されました。
ここで、変更のあったオブジェクトをダブルクリックすることで
フリーズ時点との差分の詳細を確認することもできます。良い感じですね!
■DB再編成の取得方法
次に、改修により発生したDBの差分についてどのように取得できるかを検証していきます。
先ほどのナレッジベースバージョンタブより、2つの枠をShiftまたはCtrlキーを押しながら
選択し、右クリック→XXXからYYYまでのデータベースの影響分析を選択します。
新たに影響分析タブが立ち上がり、Version1.00からのすべての再編成が取得できていることが確認できます。
(再編成のエクスポートについて)
あるKBをデプロイ専用として管理している場合、 リリース直前に変更分を1度に ビルドする事があります。
そのような場合には「再編成のエクスポート」が有用です。
この機能を使用すると、直近のローカルKBの再編成を本番環境に対して
バックグラウンドで実行する事が可能となります。
方法:ビルドメニュー→再編成のエクスポートを選択
再編成実行ファイルの名前を指定してZipファイルを作成します。
ファイルはターゲット環境のWebフォルダが存在するディレクトリのReorgs内に存在します。
Zipファイルを解凍するとReor.exeが存在しますので、これを実行します。
バックグラウンドで実行する場合はコマンドラインで
Reor.exe -nogui -force
を実行してください。
如何でしたでしょうか?
GeneXusなら統合開発環境1つでバージョンの管理が完結してしまいますよね。
特にバージョン同士の差分の抽出やDB再編成に関しては実際どうやってやるの?
と疑問に思われている方が多いのではないでしょうか?
今回の検証はまだまだ一部にすぎませんが、ご参考にしていただければ幸いです。
次回は「本流のシステムと枝派との差分取得等」について掲載させていただきたいと思います。
最後までご覧いただき有難うございました!