Изменить тип настраиваемого поля профиля (Sitefinity 6.3) - PullRequest
0 голосов
/ 13 ноября 2018

У меня старая установка Sitefinity (версия 6.3) В профиле у меня есть настраиваемое поле, которое числовое. Теперь у меня есть необходимость изменить это, чтобы вместо этого содержать строку.

Я обнаружил, что нет простого способа изменить тип данных (https://www.progress.com/documentation/sitefinity-cms/edit-an-existing-custom-field),, но возможно ли это с помощью кода / конфигурации?

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

Редактировать: я удалил столбец и воссоздал его как строку / varchar. У меня сейчас проблема с каким-то конвертером

type converter initialization failed. The converter with name 'DecimalConverter' does not convert from CLR type 'System. String' to SQL type 'DECIMAL'.
Parameter name: converterName
Actual value was OpenAccessRuntime.Data.DecimalConverter, Telerik.OpenAccess.Runtime, Version=2013.3.1211.3, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342.

Эта строка в трассировке стека имеет значение

[MetadataException: The metadata for field 'CustomerNo_sv' of class 'Telerik.Sitefinity.Security.Model.SitefinityProfile' cannot be initialized: Type converter initialization failed. The converter with name 'DecimalConverter' does not convert from CLR type 'System. String' to SQL type 'DECIMAL'.
Parameter name: converterName
Actual value was OpenAccessRuntime.Data.DecimalConverter, Telerik.OpenAccess.Runtime, Version=2013.3.1211.3, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342.]

Каким-то образом указанные значения языка не конвертируются, как я вижу. Сейчас весь сайт не работает, и я не могу связаться с бэкэндом. Таким образом, я думаю, я должен решить это в БД?

1 Ответ

0 голосов
/ 13 ноября 2018

В подобных случаях я делаю следующее:

Я создаю новое поле, а затем заполняю новый столбец в базе данных значениями из старого столбца (поля).

ВВ вашем случае вы будете просматривать таблицу sf_sitefinity_profile .

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

После этого вы можете удалить старуюполе и начните использовать новый.

...