Spring集成Cassandra生产部署ddl-auto配置相关问题咨询
核心前提说明
你当前使用的是spring-boot-starter-data-cassandra技术栈,和Spring JPA(Hibernate)是完全独立的两套数据访问方案,各自的配置互不生效,不要混淆两类配置的作用范围。
问题解答
- 是否需要额外定义配置来停用自动schema创建功能?
默认不需要额外配置。Spring Boot 中spring.data.cassandra.schema-action参数的默认值为NONE,不会自动创建、修改、删除生产环境的任何现有schema或数据。如果要彻底规避不同版本默认值变动的风险,可以在application.properties中显式添加配置:
spring.data.cassandra.schema-action=NONE
自动schema创建功能是否仅适用于嵌入式数据库,当前场景无需担心?
自动schema创建不是仅适用于嵌入式数据库:只要你将schema-action参数设置为CREATE、CREATE_IF_NOT_EXISTS、RECREATE等非NONE值,无论连接的是本地嵌入式Cassandra还是远程生产集群,都会执行对应的schema变更操作。但你当前没有修改过相关配置,默认值为NONE,因此无需担心误改生产环境的schema或数据。spring.jpa.hibernate.ddl和spring.jpa.defer-datasource-initialization这两个配置是否需要设置?
完全不需要设置。这两个参数是Spring JPA(Hibernate实现)技术栈的专属配置,你的项目没有引入任何JPA相关依赖,这两个参数对当前Spring Data Cassandra项目没有任何作用,无论是否配置都不会影响运行逻辑,无需额外处理。
内容的提问来源于stack exchange,提问作者ZKA
相关产品推荐
相关产品推荐

