ゆずめも

メモ的なブログです。主に勉強した事について書いてます。

skinny frameworkのh2 databaseの場所と中身を見る方法

皆さんJava書いてますか?
最近仕事でJavaのコードを読んだり書いたりする機会ができてHoge h = new Hoge();のようなコードがいっぱい出てきて
ここ最近TypeScriptばっかり書いてきた身としてはめんどくさいったらない。。

会社的にはJavaを使う機会が多いけど、個人的にはScalaのほうが楽だしモチベあるなと思って勉強を始めた。
そこで以下のスライド見てskinny frameworkをやってみてる

www.slideshare.net

h2でハマる

./skinny db:migrateまでは特に問題なくscaffoldも動いた状態

ただ上のコマンドでテーブル作って、ブラウザからCRUD実行してデータがどこに保存されてるのかよくわからなかったので調べると
プロジェクトのディレクトリ直下にdbディレクトリができていて、その中にdevelopment.mv.dbというファイルができていた

h2のjarを探す

そもそもsbtで依存を解決しているのでh2のjarファイルがどこかにあるはず
いろいろ探しているとホームディレクトリから潜った所に保存されていた

~/.coursier/cache/v1/https/repo1.maven.org/maven2/com/h2database/h2/1.4.196/h2-1.4.196.jar

このjarを実行してやるとブラウザが開いて、h2のコンソール的なのが出てくる

java -jar h2-1.4.196.jar

f:id:yuzu441:20171117203249p:plain

JDBC URLの部分にjdbc:h2:~/<project dir path>/db/developmentと入力

ここでハマった点は、ファイル名がdevelopment.mv.dbであればdevelopmentだけで良い

ユーザー名とパスワードを入力して、接続テストに成功するとうまく読み込めている
(初期はユーザー名:sa, パスワード:saだった)

SQLの実行

ログインが完了したら、SQLが書いてある部分に作成したテーブル(仮にusers)に対してSQLを実行すると、データが入っていることが確認できる