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

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

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

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

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

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

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

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

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

  • Лицензия:
    При работе с сервис-ориентированными версиями в развертывании ArcGIS Enterprise 11.2 или более поздней версии участникам организации должна быть назначена лицензия на расширение типа пользователя ArcGIS Advanced Editing для использования этого инструмента.

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задает, будет ли получена блокировка.

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

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

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

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

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

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

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

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

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

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

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

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

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

Имя и местоположение, где будет сохранен файл журнала. Log-файл – это 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
(Дополнительный)

Имя и местоположение, где будет сохранен файл журнала. 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 для согласования всех версий, принадлежащих пользователю, указанному в файле подключения базы геоданных.

# 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')

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