формат чтобы одно из полей получило is_nullable=false а tarantoolctl ругается на альтернативный тип уже в индексе, хотя сам индекс делался просто с указанием полей.
Это как-то можно вменяемо пофиксить без потери данных, или проще уже оставить поле обнуляемым?
box.space.anyspace:format(
{
{name='f1',type='boolean'},
{name='f2',type='unsigned',is_nullable=false}
})
---- error: Field 'f1' has type 'boolean' in space format, but type 'unsigned' in index definition
Так Вам нужно обнуляемое или не обнуляемое поле? Или нужно и данные сохранить, и чтобы дальше не обнулялось? Сделайте триггер и проверяйте кортежи на непустое значение поля.
В спейс было нужно добавить поле, поставили обнуляемым чтобы не ругалось на уже существующие кортежи, потом заполнили поле данными и теперь есть желание убрать обнуляемость
Уберите индекс, сделайте поле непустым, добавьте индекс.
Ошибка говорит о том, что по первому полю построен индекс типа unsigned. Поле заполнено числами и не может иметь тип boolean
Вот только оно имеет этот тип и заполнено булевыми значениями, в самом индексе эксплицитно типы не указывались
Это основной индекс, насколько помню, его выпиливание приведёт к потере всех данных
Покажите box.space.anyspace.index[0]
Вывод такой, код выше я без полного перечня полей делал, всего их пять, а проблемное булево поле как раз-таки четвёртое ---- unique: true parts: - type: string is_nullable: false fieldno: 1 - type: unsigned is_nullable: false fieldno: 4 id: 0 space_id: 516 name: user_access type: TREE
Обсуждают сегодня