Перейти к основному содержимому
Версия: 1.20.1

Рекомендации по экспорту и импорту приложений

  1. Так как приложение представляет собой совокупность всех пакетов, чтобы перенести его на другой экземпляр, необходимо собрать их все.

  2. Не вносите никаких изменений в существующие функции во время миграции. Чтобы внедрить какие-либо важные улучшения, следуйте одному из подходов:

    • Пройдите все этапы цикла разработки, включая тестирование.
    • Внедрите эти улучшения после завершения миграции.
  3. Миграция конфигураций выполняется посредством конфигурационных пакетов. Для упрощения объедините несколько пакетов в один перед экспортом. Чтобы обеспечить импорт только актуальных версий, создайте моментальные снимки каждого импортированного приложения, следуя приведенным ниже инструкциям:

    1. Создайте локальный пакет для переноса приложения. Например, локальный пакет для моментального снимка таблиц приложения Simple может называться [SA] — Snapshot diff.

    2. Сделайте этот локальный пакет текущим.

    3. Перейдите в Настройка системыСерверные скрипты и запустите представленный ниже скрипт, чтобы создать моментальные снимки всех таблиц с версиями:

      Снимок таблицы

      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`);
      }
      }
      внимание

      Перед переносом приложения проведите анализ на предмет зависимостей от других приложений.

      Например, в уже имеющемся приложении на экземпляре могут отсутствовать роли, используемые в правилах контроля доступа ACLперенесенных приложений. В этом случае ограничения доступа не будут работать должным образом.

  4. Также импортируйте связанные записи следующих таблиц:

    Системное название таблицыЗаголовок таблицыОписание
    sys_search_indexПоисковый индекс

    Хранит поисковые индексы.

    Записи в таблице Поисковый индекс (sys_search_index) доступны только для чтения и только пользователям с ролью admin.

    sys_activity_feed_itemОбъекты ленты активности

    Хранит записи изменений полей в Ленте активности.

    Вы не можете создавать, редактировать и удалять записи в таблице Объекты ленты активности (sys_activity_feed_item).

    Записи в таблице Объекты ленты активности (sys_activity_feed_item) доступны только для чтения и только пользователям с ролью admin.

    sys_historyИстория

    Хранит записи изменений Истории.

    Записи в таблице История (sys_history) доступны только для чтения и только пользователям с ролью admin.

    sys_activities_stream_fieldАктивности

    Хранит изменения полей записей, записанных виджетом Активности.

    Записи в таблице Активности (sys_activities_stream_field) доступны только для чтения и только пользователям с ролью admin.

    sys_emailЭлектронная почтаХранит входящие и исходящие сообщения.
  5. Большинство пользователей имеют свои шаблоны использования интерфейса. Включите приведенные ниже таблицы в процесс миграции, чтобы не нарушать их работу:

    Системное название таблицыЗаголовок таблицыОписание
    sys_menu_favoriteИзбранноеХранит пункты меню, добавленные пользователем в избранное.
    sys_filterФильтрХранит пользовательские фильтры.
    sys_user_preferenceПользовательские предпочтенияХранит пользовательские настройки.
  6. Выполняя комплексную миграцию пользователей, не забывайте импортировать роли и объекты групп.

    Системное название таблицыЗаголовок таблицыОписание
    userПользовательХранит список пользователей экземпляра и связанную с ним информацию.
    employeeСотрудникХранит список сотрудников и связанную с ним информацию.
    sys_roleРольХранит список доступных ролей.
    sys_role_containsРоль содержитТаблица M2M, хранит связи между родительскими и дочерними ролями.
    sys_groupГруппаХранит список доступных групп.
    sys_group_containsГруппа содержитТаблица M2M, хранит связи между родительскими и дочерними группами.
    sys_user_has_roleРоль пользователяТаблица M2M, хранит связи между пользователями и присвоенными им ролями.
    sys_user_groupПользовательская группаТаблица M2M, хранит связи между пользователями и группами, в которые они включены.
    sys_user_criteriaПользовательские критерииХранит список пользовательских критериев.