Допустим, у меня есть таблица meeting
с некоторыми полями. Среди этих полей есть поле tasks
, которое представляет собой set из task
. Эта task
вещь, в свою очередь, является определяемым пользователем типом .
Теперь я не хочу хранить task
как поле собрания, но в собственной таблице task
.
Однако в моей системе уже есть данные о собраниях, поэтому мне нужно перенести информацию о задачах из таблицы meeting
в новую таблицу task
.
Если бы они были похожими таблицами, я мог бы использовать COPY
, как в этом другом ответе SO .
Но для этого я почти ничего не понимаю.
Что я пробовал
Не очень, к сожалению. Я попробовал это:
COPY keyspace.meeting(subtasks) to 'try.csv';
Что на самом деле экспортирует набор подзадач в файл, но потом, когда я:
COPY keyspace.subtask(name, id, ...etc ) from 'try.csv';
Я получаю сообщение об ошибке:
Столбец первичного ключа 'meetingid' отсутствует или пропущен
Это имеет смысл, поскольку в наборе нет ни meetingid
, ни id
.
Мне нужно указать CQL для команды COPY
экспортировать каждую подзадачу в виде строки, но я нигде не нахожу эту опцию и ничего, связанное с этой проблемой.
Полагаю, я могу просто экспортировать набор строк в файл (ы) .csv, затем помассировать его языком программирования и затем скопировать их. Но это хлопотно, и я бы хотел решить эту проблему, используя только код .cql, если это возможно.