Кассандра: изменить тип с UUID на TIMEUUID
Я пытаюсь изменить тип столбца с UUID на TIMEUUID, но я не могу этого сделать.
ALTER TABLE Person ALTER KEY TYPE timeuuid;
Ошибка:
Неверный запрос: невозможно изменить ключ с типа uuid на тип timeuuid: типы несовместимы.
Есть идеи о том, как этого добиться, не потеряв данные из семейства столбцов?
1 ответ
Это не разрешено. Это связано с тем, что TimeUUID имеют другую схему сортировки, чем обычные UUID, поэтому Кассандра не позволяет этого. Если вас не волнует сортировка столбцов по времени, вы можете сгенерировать и использовать TimeUUID в своем приложении, не меняя тип столбца в Cassandra, но сортировка может быть не в порядке, если смешивать их с существующими столбцами. Если вам абсолютно необходимо это сделать, единственным вариантом будет миграция существующих данных и изменение их столбцов на UUID на новое семейство столбцов.