GAM - Deploy Tool

Official Content
This documentation is valid for:

GAM Deploy Tool is a tool which has multiple purposes, all of them related to the deployment of applications using GeneXus Access Manager.

The GAM DeployTool can be executed from inside GeneXus (Tools > GAM > Create Deploy File) or in stand alone mode (see the Download below).

The tool is aimed at taking into production the information which needs to be updated in the GAM Database.
It is not an export / import utility as it is known, but it represents a tool that has the knowledge of the GAM Database structure and relations and gives the possibility to import data in a gradual way keeping the consistency of the GAM data model.

After exporting data from the GAM Database, a package is obtained containing all or some of the entities which are going to be taken into the production Database (which can use a different DBMS).

The end user has the ability to select the desired entities that are going to be imported into the Database (Applications, Roles, Users, etc).
Although records of some table could not be present in the export package and may be present in the production Database, the import process does not remove those records.

The data is not removed in general, but it is updated if necessary (which makes the difference with the usual import / export utilites of the DBMS).

The tool does not remove relations between records, but it adds or updates relations. For example, if a role is exported with its permissions, it can happen that this role already exists in the production Database. In this case, if some of the permissions are not related to the role, the relation to these permissions is created, but the other relations to the permissions table of this role (which existed prior to the import) are not removed.

During the import, the hierarchy of permissions and roles is considered, so as it keeps the same relation as it exists in the Database from where the data was exported.

GAM Users are entities related to one or more GAM repositories and when imported, this fact is taken into consideration, see Import Users - GAM Deploy Tool for more information.

The following are the different options that can be executed using the GAM DeployTool.

It supports all platforms (SQL Server, Mysql, Postgresql, Oracle, DB2). The tool uses ADO to connect to the Database, so you need the corresponding ADO client of the DBMS you want to connect to, in case of Iseries, the client V6R1 is required.

In the case of Oracle, the port and databasename have to be specified in the tnsnames.ora file.

When executing the tool, a log file (GamLog.log) is saved in the temporary directory of the user.

Important notes

  • To do any actions with the GAM deploy tool, you should use the user "gamadmin"  (predefined in repository 1). 
  • To export data from any GAM Database you have to use the GAM deploy tool corresponding to the version of GAM. 
    For example, in the case of GAM database version 3.0.6 download the tool from here
    In sum, the GAM deploy tool has the knowledge of the Database schema of its own version. 
  • To update the GAM Database structure, you can use the Update Schema option of the tool. For example, to update to Database version 4.0.3 you can use the GAM deploy tool which supports that version, and Update the Database schema of a GAM Database of a prior version.
  • If you import a package exported from a Database version 4.0.3 using the GAM Deploy tool of 4.0.3 into a 3.0.6 Database, a reorg will be done to change the Database structure. That's another way of updating the Database schema.

See Also

GAM deploy tool command line (only windows)
GAM deploy tool command line (windows and unix-like operating systems)