我正在使用带有Spring引导的Spring Data REST构建RESTful API。有一些数据(例如国家列表)我想在创建数据库时插入数据库,所以我使用import.sql
来执行此操作。但是在春季引导docs中,提到import.sql
对生产不利。引用:
此外,如果Hibernate从头开始创建模式(即ddl-auto属性设置为create或create-drop),则会在启动时执行类路径根目录中名为import.sql的文件。这对于演示和测试很有用,如果你小心,但可能不是你想要在生产中的类路径上。这是一个Hibernate功能(与Spring无关)。
所以我的问题是为什么在生产中使用import.sql会有什么不好呢?
注意:我将在第一次将应用程序部署到生产后使用import.sql
,之后我将关闭hibernate-ddl
。使用Flyway可以对架构进行任何进一步的更改。