【发布时间】:2021-01-04 10:40:47
【问题描述】:
我正在使用集成到 Spring Boot 应用程序中的 Cassandra 数据库。
我的问题是关于架构操作。如果我需要对数据库进行结构更改,比如向表中添加一列,则需要重新创建数据库,但这意味着所有现有数据都将被删除:
schema-action: CREATE_IF_NOT_EXISTS
我设法解决此问题的唯一方法是使用RECREATE 方案操作,但如前所述,这会导致数据丢失。
处理此问题的最佳方法是什么?要添加结构更改(例如列名)而不必重新创建数据库并丢失所有现有数据?
谢谢
【问题讨论】:
-
添加列不应导致数据丢失。专业提示,将架构修改排除应用程序代码,否则您将度过一段糟糕的时光。
-
但除非我使用 RECREATE 模式操作,否则不会创建该列
-
这正是我的观点。从 cqlsh 添加列,而不是从 Spring/Java 代码添加。
标签: java spring-boot cassandra