Как исправить ошибку: У действия по проверке наличия в колонке Имя_колонки в схеме Имя_схемы Название_проверки не выбрано действие для исправления

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

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

https://community.terrasoft.ua/questions/osibka-pri-publikacii

Возникла проблема не точно такая же, но с аналогичным текстом ошибки: после изменения схемы, а именно небезопасного изменения\удаления поля из схемы, возникла ошибка: "У действия по проверке наличия в колонке Имя_колонки в схеме Имя_схемы условия обязательности не выбрано действие для исправления". Возврат к предыдущему состоянию схемы и выполнение требований изменить условие обязательности не помогли. Такая ошибка возникла на колонке, в котором уже были значения.

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

1) Скопировать через update в другое поле значение проблемной колонки. Или выгрузить в excel пары Отображаемое значение-значение проблемной колонки для последующего импорта.

2) Очистить значения колонки во всех строках через update. Удалить из схемы проблемную колонку. Сохранить схему. Опубликовать схему.

3)  Добавить в схему идентичную колонку (лучше с другим кодом колонки)

4) Опубликовать схему

5) Скопировать через update\импортировать сохраненные данные колонки.

Как не допустить такую ситуацию?

1) Если не обходимо изменить поле на уровне БД, в котором уже есть значения, то:

а) Не менять тип поля, если он не совместим и в нем есть данные. Например, с текстового на справочник. Создать новое поле с нужным типом, скопировать в него значения из старого, старое скрыть (можно очистить и удалить в конце, если не завязано никакой логики).

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

Если есть дополнения\возражения, прошу в комментарии. Спасибо.

Нравится

Поделиться

0 комментариев
Показать все комментарии