Ich muss eine eingebettete Datenbank einrichten, um meine Testfälle in einem Spring-Boot-Projekt auszuführen.Wie kombinieren Sie mehrere SQL-Dateien mit verschiedenen Trennzeichen in einem EmbeddedDatabaseBuilder?
ich meine SQL-Skripte in zwei Dateien, um verschiedene Separatoren zu setzen für sie getrennt haben:
One enthält meine grundlegende Tabellenskripten (NAME = create-table.sql, SEPARATOR =;) erstellen und die andere enthält die gespeicherten Prozeduren (NAME = gespeicherte Prozeduren.sql,, SEPARATOR = /;).
Per Kommentare zu this post, kann ich verschiedene Separatoren für die beiden SQL-Dateien konfigurieren, indem Sie diese in applicationContext.xml:
<jdbc:initialize-database data-source="mctDBDataSource" ignore-failures="DROPS" >
<jdbc:script location="classpath:databaseTesting/inMemory/createInMemoryDatabase.sql" separator=";"/>
<jdbc:script location="classpath:databaseTesting/inMemory/createInMemoryDatabaseProcedures.sql" separator="/;"/>
</jdbc:initialize-database>
Aber in meinem Fall Ich versuche, die Nicht-XML-Ansatz zu verwenden, wie unten.
public DataSource myDataSource(){
return new EmbeddedDatabaseBuilder().generateUniqueName(true)
.setType(EmbeddedDatabaseType.HSQL).addScript("create-table").setSeparator(";").setEncryptEncoding("UTF-8")
.ignoreFiledDrops(true).build();
}
Der obige Code funktioniert gut, wenn ich nur eine SQL-Datei verwenden sollte.
Wie kann ich zwei SQL-Dateien mit verschiedenen Trennzeichen kombinieren, um eine DataSource zu erstellen.
tun dies nicht funktioniert:
public DataSource myDataSource(){
return new EmbeddedDatabaseBuilder().generateUniqueName(true)
.setType(EmbeddedDatabaseType.HSQL).addScript("create-table")
.setSeparator(";").addScript("stored-procedures").setSeparator("/;")setEncryptEncoding("UTF-8")
.ignoreFiledDrops(true).build();
}