LoginSignup
29
24

More than 5 years have passed since last update.

JetbrainsのIDEのDBクライアントがすごく良いというお話

Last updated at Posted at 2017-12-15

今年、転職を期に今までのSublime Text3ベースだった開発環境から、IntelliJ IDEAに乗り換えました。
それはもう効率的な開発ができるようになったと思います。
今回のアドベントカレンダーではその良さの一つである、データベースクライアントが非常に良いのでその紹介になります。

ちなみに、IntelliJ IDEAで凄く良い点は複数あるので、余力があれば他のものについても書いていきたいと思います。
今まで使っていた複数のソフトが一つの画面で完結するのは本当に便利です。

  • Dockerの作成、起動について
  • VCS(Gitクライアントとして)
  • コマンド起動やデバッガー

IntelliJ IDEAをに移る前の話

私は今までWindowsの環境でLinux上のMySQLへ繋いで開発をするために、WindowsのDBクライアントを使用して来ました。
一番始めて使ったのは「CSE」というソフトで、わりと苦がなく使えていたのですがWindows8に十分に対応していなかったため、その後はWindows10 + HeigeSQLを利用してきました。

しかし、新たな職場ではMac+PostgreSQLを使うという環境なため、これらの組み合わせが使えなくなってしまいました。
それなりにCLIでも叩けはしますが、アプリケーションを作成する際にはGUIで値をゴニョゴニョいじって開発するのが体に染み付いています。
なにかいいのはないかなと思っていたところ、JetBrainsの製品群にはDBクライアントのDatagripなるものがあり、使い始めたIntelliJ IDEAにもその機能が備わっていることを知りました。
そして、この製品は私のDBクライアントとしてのユースケースを十分に満たし、今まで使えていなかった素晴らしい機能も備えていることがわかりました。

良い点

  • WindowsでもMacでも同じ機能が使える
  • SQLの補完がちゃんとしてる
  • IDE内で完結できる
  • 単一のデータベースだけではなく、様々なデータソースに対応
    • MySQL
    • PostgreSQL
  • SSHトンネリングできるので、レンタルサーバのMySQLポートを開けなくてもクライアントが繋げる
  • 関係性が見える

MySQL、PostgreSQLだけじゃなく、Amazon Redshiftにも対応する複数のデータソース

IntelliJ IdeaなどのIDEの場合、一番右の部分にDatabaseというのがあるかと思います。
そこからDatabaseツールウィンドゥを開き、+ > Datasourceと進んで行くと様々なデータソースに接続ができるのがわかります。
それに加え、Jetbrainsの製品はWindowsでもMacでもLinuxでも動くため、これを使えてしまえば他の環境になったとしても大抵は開発できちゃいます。
image.png

SSHトンネリングについて

個人用に借りているレンタルサーバはアプリとDBを一台で動かしています。
そのサーバではアプリとDBをローカルで繋いでいて、MySQLは外部にポートを開けていません。
要はよくあるphpMyAdminが稼働しているような状況です。
HeigeSQLの時は繋ぐことができませんでしたが、IntelliJ IDEAではSSHトンネリングすることができます。
SSHさえつながる環境であれば、GUIで操作できるようになったのです!
image.png

ダイアグラムが見れる

テーブルを右クリックして、下の方にあるshow diaglamを選ぶとそのテーブルと関連性があるダイアグラムが見れます。
今の職場のDB構造はER図を見たことがありませんが、たいていの関係性がわかるようになりました。
image.png

まとめ

色々なOSで動き、色々なデータソースにつながるDBクライアント。
それでいてコードを書きながら同じツールで参照できる。
と、開発が漲ること間違い無しです!
とくにPHPStorm + phpMyaAdminの環境とかでしたら、激的に使いやすくなると思います。
ぜひJetbrains製品を使っていたら一度使ってみてください。

29
24
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
29
24