Как установить значения по умолчанию для полей, добавленных к существующим объектам?

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

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


person Mike B    schedule 18.01.2013    source источник


Ответы (3)


Вы можете создать выполнение JavaScript при загрузке формы. Конечно, это не обновит все значения в базе данных, но обновит их до того, как пользователь сможет их просмотреть. Вам нужны все значения в базе данных по умолчанию, или будет работать java-скрипт?

Редактировать

Лучшими вариантами являются либо многократное обновление (вы можете увеличить количество записей, возвращаемых расширенным поиском, до 250 записей на страницу) и продолжить обновление всех записей вручную, либо выполнить пакетное обновление. См. этот связанный вопрос SO.

person Daryl    schedule 18.01.2013
comment
К сожалению, мне нужны все значения базы данных по умолчанию. Существует рабочий процесс, зависящий от значений этих полей, который можно запускать для сущности из подсетки, даже не просматривая саму сущность. Инвертирование значений будет работать, но может ввести пользователя в заблуждение. - person Mike B; 18.01.2013
comment
Я решил просто перемаркировать все, чтобы инвертировать значение флажков. Это не идеально, но приемлемо. - person Mike B; 19.01.2013

Есть и другой способ. Вы можете написать консольное приложение, которое подключается к вашему серверу (не так сложно, если вы делали это раньше и не должны делать его общим). Затем вы просто выполняете обновление службы, извлекая все существующие объекты и обновляя их после внесения изменений.

Как говорит @Daryl, вероятно, есть способ сделать это и из графического интерфейса, но настоящие программисты делают это трудным путем. :)

Конечно, я шучу. Я просто люблю набирать код, хе-хе. Тем не менее, как только вы начнете программировать, у вас будет полная свобода влиять на данные как вам угодно и навсегда.

person Konrad Viltersten    schedule 21.01.2013

Вы можете сделать это, экспортировав записи и изменив значение поля, а затем повторно импортировав его обратно.

person Jeet    schedule 03.07.2013