こんにちは、植田です。
今回はGeneXusでのバージョン管理における疑問について気になる所を
検証していきたいと思います。 ※シリーズを予定してます。
■はじめに
GeneXusにはクライアント用IDE(要は開発用アプリケーション)とGeneXusサーバの両方に
KB(ナレッジベース)のバージョン管理用機能があります。
C#,Java等のソリューションとしてはGit,Subversion等がありますよね。
GeneXusではソースコード生成前のオブジェクト毎に履歴を管理できます。
また、もう一つの特徴的な基本機能として現在のKB自体をフリーズし、
バージョン管理や派生バージョンの作成・切替・マージ機能を有しています。
【参考wiki】 アプリケーションリリースごとのバージョン定義
■バージョン管理における疑問点
上記に示したように、バージョン管理は 非常にシンプルな操作で簡単に出来てしまいますよね。
ただし、GeneXusには
「定義した項目に変更を加えるとそれを参照している他のオブジェクトに影響が及ぶ」
特性があり、設定したRDB自体にも影響が及ぶ為、開発が進んでいく中で
中々ゆっくりとこの辺りの特徴を踏まえてどのような動きをするのかを検証した事が無かったと思います。
そこで、 次の記事からKBのバージョン管理について下記2点の観点で検証していきたいと思います。
・過去バージョンとの差分の抽出について
⇒オブジェクトの差分は拾えるのか
⇒DBの再編成はどのように取得できるのか
・ 派生バージョンとの統合について
⇒コンフリクト発生時の操作について
⇒DB再編成はどのタイミングでどのような形で取得?
最後までお読みいただきありがとうございました。