预期行为:
- sql文件“src/main/resources/data.sql”在启动过程中独立于数据库运行
- sql 文件“src/test/resources/data.sql”在测试开始时独立于数据库运行
实际行为:
- sql 文件“src/main/resources/data.sql”在启动过程中仅与 h2 一起运行,而不与 postgres 一起运行
- sql 文件“src/test/resources/data.sql”仅在测试开始时使用 h2 运行,而不是 postgres
失败的方法:
- 使用属性“spring.datasource.initialization-mode=always”
- 使用属性“spring.liquibase.drop-first=true”
- 使用属性“spring.jpa.hibernate.ddl-auto=create-drop”
初步分析:
-
对于 postgres,没有“DataSourceSchemaCreatedEvent”,因此 DataSourceInitializer.initSchema() 永远不会运行。