我在我的數據層中存儲了特定模式中的幾個實體。例如:春季啓動。 @DataJpaTest H2嵌入式數據庫創建模式
@Entity
@Table(name = "FOO", schema = "DUMMY")
public class Foo {}
我試圖設置H2嵌入式數據庫,用於集成測試我的數據層。 我爲我的測試使用@DataJpaTest
註釋來自動配置H2嵌入式數據庫。但是,創建表失敗,因爲架構DUMMY
未在數據庫初始化時創建。
有關如何在測試用例創建表之前創建模式的任何想法?我試過使用@Sql(語句=「創建模式如果不存在虛擬」),但沒有成功。
此外,我試圖在我的test.properties
文件中設置spring.datasource.url = jdbc:h2:mem:test;INIT=CREATE SCHEMA IF NOT EXISTS DUMMY
文件以及TestPropertySource("classpath:test.properties")
,但那不起作用。
感謝您的回覆。有用!順便說一句,很好的捕捉依賴範圍。 – StasKolodyuk
另外,我發現了另一個解決這個問題的方法,只是忘記了放在這裏。 – StasKolodyuk
事實證明,你可以把'schema.sql'放在src/test/resources'下面,只將它應用於測試 – StasKolodyuk