Согласовать версии (Управление данными)

Краткая информация

Согласовывает версию или несколько версий с целевой версией.

Подробнее о согласовании и закреплении версий

Использование

  • Процесс согласования требует, чтобы вы были единственным пользователем, который в настоящее время редактирует версию, и единственным пользователем, который будет редактировать версию в процессе согласования вплоть до сохранения или закрепления.

  • Для процесса согласования требуется, чтобы у вас были полные права доступа ко всем классам пространственных объектов, которые были изменены в версии до редактирования.

  • Инструменты для работы с версиями работают с многопользовательскими базами геоданных. Файловые базы геоданных не поддерживают версии.

  • Этот инструмент поддерживает операции согласования/закрепления для данных, опубликованных из сервис-ориентированной рабочей области с включенными возможностями управления версиями. Операции согласования/публикации сервис-ориентированной версии через файл подключения к базе геоданных не поддерживаются.

  • База геоданных разработана для эффективного управления и поддержки длинных транзакций, использующих версии.

  • Процесс согласования указывает на различия между редактируемой и целевой версиями и отмечает эти различия как конфликты. При наличии конфликтов, разрешите их.

  • После успешного завершения согласования с включенной опцией Согласовать все версии, все версии в базе геоданных станут одинаковыми.

  • Примечание:

    Начиная с версии ArcGIS Enterprise 10.9.1, операции согласования/закрепления выполняются с преимуществами асинхронной обработки с использованием сервиса геообработки VersionManagementTools при работе с наборами данных версий ветви через сервис объектов с включенной возможностью Управления версиями. Сервис VersionManagementTools преварительно настроен в папке System для поддержки возможностей асинхронного управления версиямии. Для него настроен более длительный показатель тайм-аута, и он зарезервирован под задачи геообработки управления версиями.

Параметры

ПодписьОписаниеТип данных
Входная рабочая область

Многопользовательская база геоданных, содержащая версии для согласования.

Для сервис-ориентированных версий это будет URL-ссылка на сервис объектов (https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) или элемент портала - слой объектов.

Workspace
Согласовать режим

Определяет, какие из версий будут согласованы при запуске инструмента.

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

  • Согласовать все версииРедактируемые версии будут согласованы с целевой версией. Это значение по умолчанию
  • Согласовать только блокирующие версииВерсии, которые блокируют целевую версию от сжатия, будут согласованы. Эта опция использует рекомендованный порядок согласования.
String
Целевая версия
(Дополнительный)

Имя любой версии, которая является прямым предшественником редактируемой версии, например, родительская версия или версия по умолчанию.

Обычно она содержит правки из всех других версий, которые вы хотели включить в версию правки.

Если входная рабочая область - сервис-ориентированная, единственным допустимым значением этого параметра является согласование с версией по умолчанию.

String
Изменить версии
(Дополнительный)

Имя редактируемой версии или версий, которые согласовываются с выбранной целевой версией.

Отобразятся только версии, являющиеся прямыми предшественниками выбранной целевой версии.

String
Получить блокировки
(Дополнительный)

Укажите, будет ли требоваться блокировка.

Если входная рабочая область - сервис-ориентированная, в процессе согласования не возникает блокировки.

  • Отмечено: в процессе согласования требуется блокировка. Используется, когда необходимо выполнить закрепление правок. Это позволяет гарантировать, что целевая версия не изменялась между операциями согласования и закрепления. Это значение по умолчанию
  • Не отмечено – в процессе согласования не требуется блокировка. Это позволяет нескольким пользователям выполнять согласование параллельно. Эта опция используется, если версия редактирования не будет закреплена в целевой версии, так как есть вероятность, что целевая версия могла быть изменена между операциями согласования и закрепления изменений.
Boolean
Прервать в случае конфликтов
(Дополнительный)

Определяет необходимость прерывания процесса согласования в случае обнаружения конфликтов между целевой и редактируемой версиями.

  • Отмечено – при нахождении конфликтов согласование будет прервано.
  • Не отмечено – при нахождении конфликтов согласование не будет прервано. Это значение по умолчанию
Boolean
Выявление конфликтов
(Дополнительный)

Указывает, определяются ли условия, необходимые для возникновения конфликта, выявляться объектом (строкой) или атрибутом (столбцом).

  • Конфликты, определяемые по объекту (строке)Конфликты будут определены по объекту. Любые изменения в одной и той же строке или объекте в родительской и дочерней версиях будут конфликтовать в процессе согласования. Это значение по умолчанию
  • Конфликты, определяемые по атрибуту (столбцу)Конфликты будут определены по атрибуту. Только изменения того же атрибута (столбца) той же строки или объекта в родительской и дочерней версиях будут отмечены как конфликт в процессе согласования. Изменения с различными атрибутами не будут считаться конфликтом в процессе согласования.
String
Разрешение конфликтов
(Дополнительный)

Описывает решение, которое будет использоваться при обнаружении конфликта.

Если входная рабочая область - сервис-ориентированная, по умолчанию используется версия редактирования.

  • Решение конфликтов проводится в пользу целевой версииРешение всех конфликтов проводится в пользу целевой версии Используется по умолчанию для традиционных версий.
  • Решение конфликтов проводится в пользу редактируемой версииВсе конфликты разрешаются в пользу редактируемой версии Используется по умолчанию для версий с ветвлениями.
String
Закрепить версии после согласования
(Дополнительный)

Определяет, будет ли текущий сеанс редактирования закреплен в согласовываемой целевой версии.

  • Отмечено: текущая редактируемая версия будет закреплена в целевой версии после согласования.
  • Не отмечено: текущая редактируемая версия не будет закреплена в целевой версии после согласования. Это значение по умолчанию
Boolean
Удалить версии после закрепления
(Дополнительный)

Определяет, будет ли согласовываемые версия правки удалена после закрепления. Этот параметр применим только в том случае, если отмечен параметр Закрепить версии после согласования.

  • Отмечено - текущая редактируемая версия, прошедшая согласование, будет удалена после закрепления в целевой версии.
  • Не отмечено - текущая редактируемая версия, прошедшая согласование, не будет удалена. Это значение по умолчанию
Boolean
Согласовать журнал версий
(Дополнительный)

Имя и местоположение, где будет сохранен файл журнала. Файл журнала – это ASCII файл, в котором хранится содержимое сообщений геообработки.

File
Продолжить, если обнаружены непросмотренные конфликты
(Дополнительный)

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

  • Отмечено - процесс согласования будет продолжен, если будут выявлены непросмотренные существующие конфликты. Это значение по умолчанию
  • Не отмечено - процесс согласования будет остановлен, если будут выявлены непросмотренные существующие конфликты.
Boolean
Согласование версий открепленных реплик
(Дополнительный)

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

  • Отмечено – процесс согласования включает версии открепленных реплик. Это значение по умолчанию
  • Не отмечено—процесс согласования не включает версии открепленных реплик.

Boolean

Производные выходные данные

ПодписьОписаниеТип данных
Обновленная входная рабочая область

Обновленная входная рабочая область.

Workspace

arcpy.management.ReconcileVersions(input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log}, {proceed_if_conflicts_not_reviewed}, {reconcile_checkout_versions})
ИмяОписаниеТип данных
input_database

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

Для сервис-ориентированных версий это будет URL-ссылка на сервис объектов (https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer).

Workspace
reconcile_mode

Определяет, какие из версий будут согласованы при запуске инструмента.

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

  • ALL_VERSIONSРедактируемые версии будут согласованы с целевой версией. Это значение по умолчанию
  • BLOCKING_VERSIONSВерсии, которые блокируют целевую версию от сжатия, будут согласованы. Эта опция использует рекомендованный порядок согласования.
String
target_version
(Дополнительный)

Имя любой версии, которая является прямым предшественником редактируемой версии, например, родительская версия или версия по умолчанию.

Обычно она содержит правки из всех других версий, которые вы хотели включить в версию правки.

Если входная рабочая область - сервис-ориентированная, единственным допустимым значением этого параметра является согласование с версией по умолчанию.

String
edit_versions
[edit_versions,...]
(Дополнительный)

Имя редактируемой версии или версий, которые согласовываются с выбранной целевой версией. Это может быть одно имя версии или список имен версий.

String
acquire_locks
(Дополнительный)

Укажите, будет ли требоваться блокировка.

  • LOCK_ACQUIREDВ процессе согласования требуется блокировка. Используется, когда необходимо выполнить закрепление правок. Это позволяет гарантировать, что целевая версия не изменялась между операциями согласования и закрепления. Это значение по умолчанию
  • NO_LOCK_ACQUIREDВ процессе согласования не требуется блокировка. Это позволяет нескольким пользователям выполнять согласование параллельно. Эта опция используется, если версия редактирования не будет закреплена в целевой версии, так как есть вероятность, что целевая версия могла быть изменена между операциями согласования и закрепления изменений.
Boolean
abort_if_conflicts
(Дополнительный)

Определяет необходимость прерывания процесса согласования в случае обнаружения конфликтов между целевой и редактируемой версиями.

  • NO_ABORTПри нахождении конфликтов согласование не будет прервано. Это значение по умолчанию
  • ABORT_CONFLICTSПри нахождении конфликтов согласование будет прервано.
Boolean
conflict_definition
(Дополнительный)

Указывает, определяются ли условия, необходимые для возникновения конфликта, выявляться объектом (строкой) или атрибутом (столбцом).

  • BY_OBJECTКонфликты будут определены по объекту. Любые изменения в одной и той же строке или объекте в родительской и дочерней версиях будут конфликтовать в процессе согласования. Это значение по умолчанию
  • BY_ATTRIBUTEКонфликты будут определены по атрибуту. Только изменения того же атрибута (столбца) той же строки или объекта в родительской и дочерней версиях будут отмечены как конфликт в процессе согласования. Изменения с различными атрибутами не будут считаться конфликтом в процессе согласования.
String
conflict_resolution
(Дополнительный)

Описывает решение, которое будет использоваться при обнаружении конфликта.

Если входная рабочая область - сервис-ориентированная, по умолчанию используется версия редактирования.

  • FAVOR_TARGET_VERSIONРешение всех конфликтов проводится в пользу целевой версии Используется по умолчанию для традиционных версий.
  • FAVOR_EDIT_VERSIONВсе конфликты разрешаются в пользу редактируемой версии Используется по умолчанию для версий с ветвлениями.
String
with_post
(Дополнительный)

Определяет, будет ли текущий сеанс редактирования закреплен в согласовываемой целевой версии.

  • NO_POSTТекущая редактируемая версия не будет закреплена в целевой версии после согласования. Это значение по умолчанию
  • POSTТекущая редактируемая версия будет закреплена в целевой версии после согласования.
Boolean
with_delete
(Дополнительный)

Определяет, будет ли согласовываемые версия правки удалена после закрепления. Этот параметр применяется только в случае, если значением параметра with_post является POST.

  • DELETE_VERSIONТекущая редактируемая версия, прошедшая согласование, будет удалена после закрепления в целевой версии.
  • KEEP_VERSIONТекущая редактируемая версия, прошедшая согласование, не будет удалена. Это значение по умолчанию
Boolean
out_log
(Дополнительный)

Имя и местоположение, где будет сохранен файл журнала. Файл журнала – это ASCII файл, в котором хранится содержимое сообщений геообработки.

File
proceed_if_conflicts_not_reviewed
(Дополнительный)

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

  • PROCEEDПроцесс согласования будет продолжен, если будут выявлены непросмотренные существующие конфликты. Это значение по умолчанию
  • NOT_PROCEEDПроцесс согласования будет остановлен, если будут выявлены непросмотренные существующие конфликты.
Boolean
reconcile_checkout_versions
(Дополнительный)

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

  • RECONCILEПроцесс согласования включает версии открепленных реплик. Это значение по умолчанию
  • DO_NOT_RECONCILEПроцесс согласования не включает версии открепленных реплик.
Boolean

Производные выходные данные

ИмяОписаниеТип данных
out_workspace

Обновленная входная рабочая область.

Workspace

Пример кода

ReconcileVersions, пример (автономный скрипт)

Следующий автономный скрипт демонстрирует, как использовать инструмент ReconcileVersions для согласования всех версий, которые есть у пользователя, и которые указаны в файле подключения SDE.

# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default

# Import system modules
import arcpy, os

# Set workspace
workspace = 'C:/Data/connections/bender@production.sde'

# Set the workspace environment
arcpy.env.workspace = workspace

# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
           == True and ver.name.lower() != 'sde.default']

arcpy.ReconcileVersions_management(workspace,
                                   "ALL_VERSIONS",
                                   "SDE.Default",
                                   verList,
                                   "LOCK_ACQUIRED",
                                   "NO_ABORT",
                                   "BY_OBJECT",
                                   "FAVOR_TARGET_VERSION",
                                   "NO_POST",
                                   "KEEP_VERSION",
                                   "c:\RecLog.txt")
print('Reconciling Complete')

Информация о лицензиях

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

Связанные разделы