Кассандра: изменить тип с UUID на TIMEUUID

Я пытаюсь изменить тип столбца с UUID на TIMEUUID, но я не могу этого сделать.

ALTER TABLE Person ALTER KEY TYPE timeuuid;

Ошибка:

Неверный запрос: невозможно изменить ключ с типа uuid на тип timeuuid: типы несовместимы.

Есть идеи о том, как этого добиться, не потеряв данные из семейства столбцов?

1 ответ

Решение

Это не разрешено. Это связано с тем, что TimeUUID имеют другую схему сортировки, чем обычные UUID, поэтому Кассандра не позволяет этого. Если вас не волнует сортировка столбцов по времени, вы можете сгенерировать и использовать TimeUUID в своем приложении, не меняя тип столбца в Cassandra, но сортировка может быть не в порядке, если смешивать их с существующими столбцами. Если вам абсолютно необходимо это сделать, единственным вариантом будет миграция существующих данных и изменение их столбцов на UUID на новое семейство столбцов.

Другие вопросы по тегам