Is it possible to initialize H2 database with a .s...
# exposed
m
Is it possible to initialize H2 database with a .sql file? I’m trying to setup H2 for testing, so it would load predefined data on start, but NOT save transactions back to the file. So I’d like to keep:
Copy code
Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")
But want to initialize the in-memory database with a data file
1
l
Here is what we did:
Copy code
fun connectOracleWithInitFile(name: String = randomName()): ExposedDatabaseConnector {
    deleteDbFile(name)
    val oracleInit = "RUNSCRIPT FROM 'classpath:/h2-oracle-init.sql'"
    val url = "jdbc:h2:file:./$name;MODE=Oracle;DEFAULT_NULL_ORDERING=HIGH;INIT=$oracleInit"
    return connect(url)
}
Copy code
fun connectOracleWithInit(name: String = randomName()): ExposedDatabaseConnector {
     val oracleInit = "RUNSCRIPT FROM 'classpath:/h2-oracle-init.sql'"
     val url = "jdbc:h2:mem:$name;MODE=Oracle;DEFAULT_NULL_ORDERING=HIGH;INIT=$oracleInit"
     return connect(url)
 }
1