Skip to main content
Version: 1.21.3

Export and Import Recommendations

  1. Since an application is represented by all its packs, you have to collect all of them to transfer the application to another instance.

  2. Do not make any changes to the existing functions (either incremental or decremental changes) during migration. To implement any important improvements, follow the guidelines below:

    • Go through the development cycle stages (including testing).
    • Or implement these improvements after the migration is completed.
  3. Configuration migration is done with the Configuration Packages. To simplify this process, merge some packs before exporting. To ensure importing only actual versions, create snapshots of each application imported using the instructions below:

    1. Create a local pack for an application to migrate. For example, a local pack for the Simple Application tables snapshot may be named as a [SA] - Snapshot diff.

    2. Set this local pack as current.

    3. Navigate to System SettingsServer Scripts and run the script below to create snapshots of all versioned tables:

      Table Shapshot Script
      const table = new SimpleRecord('sys_db_table');
      table.addQuery('is_vcs_enabled', true);
      table.addQuery('sys_id', '!=', '999999999999999998'); // exclude REM
      table.selectAttributes('name');
      table.query();
      while (table.next()) {
      const vcs = new SimpleVcs();
      const versionCount = vcs.createTableSnapshot(table.name);
      if (versionCount > 0) {
      ss.info(`${table.name.padStart(80, " ")}: ${versionCount} versions created`);
      }
      }
      warning

      When transferring an application, pay attention to the dependencies with the other applications that it has.

      For example, an application on the target instance may lack the roles used within the ACLs of the migrated applications. In this case, the access restrictions cannot work properly.

  4. Also, do not forget to import the related records of the following tables:

    Table system nameTable titleDescription
    sys_search_indexSearch Index

    Stores search indices.

    You cannot create, edit, or delete records in the Search Index (sys_search_index) table. Only users with the admin role can read them.

    sys_activity_feed_itemActivity Feed Item

    Stores record field changes recorded by the Activity Feed.

    You cannot create, edit, or delete records in the Activity Feed Item (sys_activity_feed_item) table. Only users with the admin role can read them.

    sys_historyHistory

    Stores field changes history.

    You cannot create, edit, or delete records in the History (sys_history) table. Only users with the admin role can read them.

    sys_activities_stream_fieldActivity Stream Field

    Stores record field changes recorded by the Activity Stream Widget.

    You cannot create, edit, or delete records in the Activities Stream Field (sys_activities_stream_field) table. Only users with the admin role can read them.

    sys_emailEmailsStores Incoming and Outgoing Emails.
  5. Most users have their own interface usage patterns. Include the tables below into your migration process so as not to disrupt them:

    Table system nameTable titleDescription
    sys_menu_favoriteMenu FavoriteStores user Favorites.
    sys_filterFilterStores user filters.
    sys_user_preferenceUser PreferenceStores User Preferences.
  6. When performing user migration in a complex way, remember to import roles and group objects.

    Table system nameTable titleDescription
    userUsersStores instance Users list and related information.
    employeeEmployeesStores Employees list and related information.
    sys_roleRolesStores available Roles list.
    sys_role_containsRole ContainsM2M table, stores relationships between parent and child roles.
    sys_groupGroupsStores available Groups list.
    sys_group_containsGroup ContainsAn M2M table, stores relationships between parent and child groups.
    sys_user_has_roleUser has RoleAn M2M table, stores relationships between users and roles they are granted.
    sys_user_groupUser GroupAn M2M table, stores relationships between users and groups they are granted.
    sys_user_criteriaUser CriteriaStores User Criteria list.