Тип свойства силы OrientDB должен быть строкой
Я использую OrientDB и пытаюсь создать новое свойство после того, как вставил свои данные (миллионы строк).
Я пытаюсь создать свойство на V для создания индекса, и я получаю следующую ошибку:
База данных содержит некоторые данные без схемы в свойстве V.ACCOUNT_NO, которые не совместимы с типом STRING. Исправьте эти записи и снова измените схему [ONetworkProtocolHttpDb]
Теперь часть типа поля имеет тип INTEGER, но мне кажется, что преобразовать тип в STRING очень просто.
как я могу сделать это со всеми данными?
1 ответ
Я попробовал ваш случай, создав эту простую структуру в режиме без схемы:
Эти записи представляют собой смесь INTEGER
а также STRING
типы:
Теперь вы можете преобразовать тип не строковых записей с помощью этого запроса:
UPDATE V SET ACCOUNT_NO = ACCOUNT_NO.asString() WHERE ACCOUNT_NO.type() <> 'STRING'
Выход:
Про исключение, я получил правильно ту же ошибку при попытке создать новое свойство V.ACCOUNT_NO
типа STRING
в режиме полной схемы, и это правильно, поскольку свойство уже существует в базе данных и содержит смешанные типы записей, хотя и в режиме без схемы.
Как только все записи будут конвертированы, вы сможете создать новое свойство.
Надеюсь, поможет