eti значение по умолчанию для объекта - PullRequest
1 голос
/ 08 апреля 2019

Можно ли изменить значение по умолчанию или поле в eti, не испортив производственную базу данных? Есть раскрывающийся список, который по умолчанию равен другому, и я бы хотел использовать его по умолчанию в раскрывающемся списке. Я не хочу портить базу данных, хотя. Есть ли другой способ установить значение по умолчанию в раскрывающемся списке, кроме файла ETI, который он сам?

Ответы [ 2 ]

1 голос
/ 09 апреля 2019

Если это OOTB-файл .eti, то вы должны создать .etx-файл и переопределить значение атрибута по умолчанию с помощью элементов <column-override> или <typekey-override> (есть также другие элементы переопределения, которые можно использовать в зависимости от типа элемента,например, <array-override>, <foreignkey-override> и т. д.), например:

User.eti:

  <column
    default="false"
    desc="Example"
    name="EntityName"
    nullok="false"
    type="bit"/>

User.etx:

  <column-override
    default="true"
    name="EntityName"/>

Значение по умолчанию для переопределенного атрибута будет влиять только на новые данные;это не изменит значения, которые уже существуют в БД.Если вам нужно изменить старые данные, вы можете использовать триггеры версии обновления (BeforeUpgradeVersionTrigger или AfterUpgradeVersionTrigger).

1 голос
/ 09 апреля 2019

Зачем вам путать БД?

Значение по умолчанию в SQL фактически устанавливает это значение для полей, которые NULL во время ввода.Это не должно требовать сброса БД и не должно ничего ломать.

Что касается изменения этого.Если это не объект OOTB, вы должны сделать это в .eti.

Что касается вашего варианта использования - какие значения в раскрывающемся списке?Я бы предположил, что это список типов, и это то, что вы действительно должны изменить (ищите приоритеты там).

EDIT Переопределить столбец, например, для объекта OOTB User.eti

  • Откройте User.etx или создайте его, если он не существует.modules\configuration\config\extensions\entity\User.etx.

  • Щелкните правой кнопкой мыши столбец, который вы хотите переопределить - ExternalUser в вашем случае.Выберите переопределение.

  • вверху списка должно быть создано column-override - измените значение по умолчанию там.

...