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

Сводка

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

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

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

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

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

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

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

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

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

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

Синтаксис

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})
ParameterОбъяснениеТип данных
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

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

NameОбъяснениеТип данных
out_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: Да

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