我正在使用MySQL构建一个Spring Boot Web应用程序,直到现在我使用了
spring.jpa.hibernate.ddl-auto=create-drop
在我的属性文件中,现在我想转移到生产,我不能再使用这一行,因为你们都知道它将数据保存在内存中,最糟糕的是它会破坏所有数据并创建一个新表部署。
出于开发目的,它很精彩,但我接下来需要做的是因为我希望它的行为与我在ddl-auto上的行为完全相同,但是持续保存数据并且最重要的是永远不会丢弃数据。
P.S。 hibernate.ddl-auto与JPA Repository没有关系? 因为我使用Crud Repository很多,我需要这个继续使用Crud Repository,是吗?
答案 0 :(得分:1)
spring.jpa.hibernate.ddl-auto=create-drop
进行创建
数据库架构和开发环境中的默认数据(如果有)关于你的问题:
hibernate.ddl-auto与JPA Repository没有关系?原因 我使用Crud Repository很多,我需要这个继续使用 Crud Repository,好吗?
您当然可以使用crud存储库;此选项不会影响您的业务逻辑
我希望它有用
安吉洛
答案 1 :(得分:0)
你不想发送DDL。您将最终尝试为脚本创建版本控制系统,通过专门命名它们或将它们放在文件夹中,您将很难与DBA通信,脚本崩溃..
您希望数据库定义代码成为代码库的一部分,以便将其置于版本控制之下(是的,git)。
尝试使用Liquibase。它将帮助您自动更新架构,数据,数据库相关的所有内容,并且它知道如何将应用程序的数据库(例如,从1.1升级到1.2)以及从1.1升级到1.6。还有像Flyway这样的其他数据库迁移工具,你可以查看它们并进行游戏。