LoginSignup
3
3

More than 5 years have passed since last update.

H2 データベースのJDBC接続文字列にてDDLを指定する

Last updated at Posted at 2017-05-18

はじめに

H2 データベースで,メモリー内にデータベースを構築するようなとき,ファイルに書いてある DDL を流したいことがあると思います。
例えば, JUnit がデータベースにアクセスするテストケースでの使用が考えられますね。

書き方

スキーマを指定する場合と,しない場合を書き記します。

スキーマを指定したいケースは, MyBatis Generator 等のツールでスキーマを限定するようなケースを考えてのものです。

スキーマを指定しない場合

jdbc:h2:mem:test;INIT=RUNSCRIPT FROM SCRIPTPATH

  • SCRIPTPATH が DDL が書かれたファイルのパスです。
jdbc:h2:mem:test;INIT=RUNSCRIPT FROM '../../db/schema.sql'

スキーマを指定する場合

jdbc:h2:mem:test;INIT=CREATE SCHEMA IF NOT EXISTS SCHEMANAME\\;SET SCHEMA SCHEMANAME\\;RUNSCRIPT FROM SCRIPTPATH

  • SCHEMANAME が,スキーマの名称です。
  • SCRIPTPATH が DDL が書かれたファイルのパスです。
jdbc:h2:mem:test;/data;INIT=CREATE SCHEMA IF NOT EXISTS FOO\\;SET SCHEMA FOO\\;RUNSCRIPT FROM '../../db/schema.sql'
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3