80.3 初始化数据库

Spring Boot可以自动创建数据源的模式(DDL脚本)并初始化它(DML脚本)。它从标准的根类路径位置加载SQL(schema.sqldata.sql)。此外,Spring Boot处理schema-${platform}.sqldata-${platform}.sql文件(如果存在),其中platformspring.datasource.platform的值。这允许你在必要时切换到特定于数据库的脚本。例如,你可以选择将其设置为数据库的供应商名称(hsqldbh2oraclemysqlpostgresql等)。

Spring Boot自动创建嵌入式数据源的模式。可以通过使用spring.datasource.initialization-mode属性定制此行为(也可以是alwaysnever)。

默认情况下,Spring Boot支持Spring JDBC初始化器的故障快速特性。这意味着,如果脚本导致异常,应用程序将无法启动。你可以通过设置spring.datasource.continue-on-error来调整该行为。

在基于JPA的应用程序中,你可以选择让Hibernate创建模式或使用schema.sql。但你不能两者都做。如果使用schema.sql,请确保禁用spring.jpa.hibernate.ddl-auto

最后更新于