Executing script file in h2 database
First of all I would like to say am new to h2 database. I need to execute a sql script file in h2 database. I have a script file test.sql and I want to execute this in h2 database. Is it possible?
You can use the RUNSCRIPT SQL statement:
RUNSCRIPT FROM 'test.sql'
or you can use the RunScript standalone / command line tool:
java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql
You can also use the RunScript tool within an application:
RunScript.execute(conn, new FileReader("test.sql"));
If you are using spring-boot and spring-test with H2 it will automatically look for schema.sql
and data.sql
in your class path and attempt to run these. So if you put them in src/test/resources
they should be picked up and run automatically
In addition you can specify the data files you want to run with properties. For example adding a property to yourapplication.properties
like
spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql
will configure spring to run those three sql files instead of running data.sql