GeneXus 17 Upgrade 5 以降の
ナレッジベースを開く際に、古いバージョンの GeneXus を使用している場合、新しいバージョンの GAM (4.0.5) が自動的にインポートされます。IDE から実行されたビルドでは、直後にデータベースの再編成およびメタデータの移行を自動的に実行します。
開発環境では更新が自動的かつ透過的に実行されますが、本番環境では開発者がデータベースの更新を実行する必要があります。
本番環境で更新を実行する手順は、次のとおりです:
- データベースを再編成します。このため、SQL スクリプトの内容は、次のパスの GeneXus インストールに配布されます: <GX_installation_path>\Library\GAM\Platforms\<environment>\ReorganizationScript404To405.txt
注: 再編成プロセスの実行は、インクリメンタルである必要があります。4.0.4 以前のバージョンから移行する場合は、各再編成をご使用のバージョンに続くものから順に実行する必要があります。
- アップグレードを完了するには、コマンドライン経由で GAM Deploy Tool を使用して、メタデータを移行します。
この移行を実行するには、実行ディレクトリーに書き込み権限が必要です。これは、connection.gam ファイルの移行にのみ適用されます。
GAM Deploy Tool の呼び出しが配置されている環境によって異なります。connection.gam ファイルは、GAM Deploy Tool を実行するディレクトリーに生成されます:
.NET: <KB>\<Net_env>\web\bin ディレクトリーに exe が配布されます。
agamdeploytool.exe -upgradegam -admin_name gamadmin -admin_pass gamadmin123
Java: ディレクトリー <TOMCAT_DIR>\webapp\<App_Name>\WEB-INF\classes\<path_to_package> にクラスが配布されます。
GAM Deploy Tool を実行する前に、connection ファイルを <TOMCAT_DIR>\webapps\<APP>\WEB-INF\connection.gam から <TOMCAT_DIR>\webapps\<APP>\WEB-INF\classes\<Path_to_package> (たとえば、C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\AppJavaSQL\WEB-INF\classes\com\test) にコピーします。
次に、GAM Deploy Tool を実行します:
java -cp "<TOMCAT_DIR>\webapp\<App_Name>\WEB-INF\classes\lib\*" genexus.security.api.agamdeploytool -upgradegam -admin_name gamadmin -admin_pass gamadmin123
.NET Core: <KB>\<NetCore_env>\web\bin ディレクトリーにライブラリが配布されます。
dotnet agamdeploytool.dll -upgradegam -admin_name gamadmin -admin_pass gamadmin123
- GAM Deploy Tool が正常に実行されると、次のようになります:
Connecting to GAM database ...
Data migration from 4.0.4 to 4.0.5
>>> Success
- 新しいファイルを本番環境に移動するには、次を実行します:
- アプリケーションをコンテナにデプロイする場合、環境変数を設定できます。ツールによって生成された connection.gam ファイルを開き、「<key>」タグの値を取得します。それから、環境変数を使用した GAM 接続データのキー設定のサポートの説明に従って設定を行います。
- そのほかには、新しく生成された connection.gam ファイルを環境に応じて対応する場所にコピーします:
.NET:
ファイルは <KB>\<Net_env>\web\bin ディレクトリーに生成されます。これを <KB>\<Net_env>\web ディレクトリーにコピーします。
connection-bkp.gam という古い connection.gam ファイルのバックアップがあります。
Java:
<TOMCAT_DIR>\webapps\<APP>\WEB-INF\classes\<Path_to_package>\connection.gam に生成された接続ファイルを <TOMCAT_DIR>\webapps\<APP>\WEB-INF にコピーします。
.NET Core:
.NET とほぼ同様ですが、.NET Core の環境では、<NetCore_env> にします。
GAM データベースは完全な下位互換性があります。つまり、新しいデータベースを指定している v17u5 以前のバージョンの GeneXus で引き続き KB を使用できます。