6
Oct 2017
by
佐々木 亜里沙
JIRAをローカルでちょっと試してみたい時はエンベデッドのH2データベースを利用できます。(もちろん本番環境では非推奨です)
このH2データベースのアクセス方法をまとめます。
注意:ローカルでJIRAが立ち上がった状態でDBにアクセスすることはできません。必ず止めた状態でアクセスしてください。
DB設定はどこにあるの
JIRAのDB接続に関する情報は<jira-home>/dbconfig.xml に書いてありますので、確認してみます。
<?xml version="1.0" encoding="UTF-8"?> <jira-database-config> <name>defaultDS</name> <delegator-name>default</delegator-name> <database-type>h2</database-type> <schema-name>PUBLIC</schema-name> <jndi-datasource> <jndi-name>java:comp/env/jdbc/JiraDS</jndi-name> </jndi-datasource> </jira-database-config>
h2の設定はjiraDSに書いてるようなので、同じディレクトリ配下にあるjiraDS.propertiesファイルも参照すると、ありました。
jndi=jdbc/JiraDS url=jdbc:h2:file:${jirahome}/database/h2db driver-class=org.h2.Driver username=sa password=
または、JIRA起動時にDB設定がログに表示されるので、それをチェックするのも簡単ですね。
[INFO] [talledLocalContainer] ___ Database Configuration _________________ [INFO] [talledLocalContainer] [INFO] [talledLocalContainer] Loading entityengine.xml from : file:/<jira-application-dir>/target/container/tomcat8x/cargo-jira-home/webapps/jira/WEB-INF/classes/entityengine.xml [INFO] [talledLocalContainer] Entity model field type name : h2 [INFO] [talledLocalContainer] Entity model schema name : PUBLIC [INFO] [talledLocalContainer] Database Version : H2 - 1.4.185 (2015-01-16) [INFO] [talledLocalContainer] Database Driver : H2 JDBC Driver - 1.4.185 (2015-01-16) [INFO] [talledLocalContainer] Database URL : jdbc:h2:file:/<jira-application-dir>/target/jira/home/database/h2db [INFO] [talledLocalContainer] Database JNDI config : h2 java:comp/env/jdbc/JiraDS
上記の設定が見つかったら、urlを参照するだけです。
CLI ベースでアクセス
h2のサイトからH2のjarファイルをダウンロードし、<jira-application-dir>
/WEB-INF/lib/
ディレクトリに配置します。
このディレクトリまで移動して以下を実行
$ java -cp h2-1.4.***.jar org.h2.tools.Shell
Welcome to H2 Shell 1.4.196 (2017-06-10) Exit with Ctrl+C [Enter] jdbc:h2:file:/<jira-application-dir>/database/h2db URL jdbc:h2:file:/<jira-application-dir>/target/jira/home/database/h2db //アクセスするURLを指定 [Enter] org.h2.Driver Driver //Enter [Enter] sa User //Enter [Enter] Hide Password //Enter Password Connected Commands are case insensitive; SQL statements end with ';' help or ? Display this help list Toggle result list / stack trace mode maxwidth Set maximum column width (default is 100) autocommit Enable or disable autocommit history Show the last 20 statements quit or exit Close the connection and exit
こんな感じでアクセスできました。
ちなみに Confluenceでも評価版にはH2が組み込みされてるので、 <confluence-home>/database/h2db に対して同様にアクセスできます。
参考
https://confluence.atlassian.com/jirakb/accessing-jira-s-h2-embedded-database-776818136.html