Синхронизация. Ошибка проведения миграций: 42703: столбец "ADDR_HASH" в таблице ''buf_dzl' не существует

Подскажите,что делать с такой ошибкой
удалила из бо поле ADDR_HASH
падает ошибка
вернула поле обратно , синхрон прошел, но бо не открывается, пишет что поле ADDR_HASH не существует
image

Код поля в метаданных не совпадает с кодом поля в БД (следует проверить регистр)

что делать, если регистр не совпадает?

Нужно выяснить:

  1. Точное имя колонки в таблице БД (можно вытащить, например, с помощью ETL-шага “SQL-запрос к базе данных” - написать запрос вида select * from table, выполнить автозаполнение полей и посмотреть, как называется нужная колонка)
  2. Сохранённый на данный момент код поля в design-метаданных (можно посмотреть в редакторе метаданных в реестре бизнес-объектов)
  3. Сохранённый на данный момент код поля в runtime-метаданных (можно получить метаданные sql-запросом вида select "Obj" from runtime.metadata where "TypeId"='код_бо' и в JSON-структуре метаданных в массиве Fields найти нужное поле и посмотреть значение свойства Code)

Далее - сопоставить эти значения. Нужно, чтобы все три были одинаковыми. Самый простой способ исправить ситуацию - при наличии подключения к БД переименовать колонку, например, с помощью pgAdmin.

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

2 Likes