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

Уровень лицензии:BasicStandardAdvanced

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

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

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

Синтаксис

ReconcileVersions_management (input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log})
ПараметрОбъяснениеТип данных
input_database

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

Workspace
reconcile_mode

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

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

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

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

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

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

String
acquire_locks
(дополнительно)

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

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

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

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

Описывает условия, необходимые для возникновения конфликта:

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

Описывает поведение при обнаружении конфликта:

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

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

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

Укажите имя и местоположение, где хотите сохранить log-файл. Log-файл – это ASCII файл, в котором хранится содержимое сообщений геообработки.

File

Пример кода

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

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

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

# Import system modules
import arcpy, os
from arcpy import env

# Set workspace
workspace = 'Database Connections//bender@production.sde'

# Set the workspace environment
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'

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Нет
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
5/10/2014