この記事について
この記事では、Visual Studio Code 上で、以下のデータベースに接続して値を確認する方法について解説します。
- MySQL
- Azure SQL Database for MySQL
従来の開発では、MySQL Workbench
など、コーディングを行う場所とは異なるアプリケーションを並行で起動する事例も多かったと思います。
コーディング中にデータベースにアクセスしたくなり別のアプリを起動・切り替え
というようなことは正直面倒で無駄の時間につながります。
Visual Studio Code のみで、コーディングだけでなく、データベースの値も確認できることは、開発中に複数のアプリケーションを起動・行き来しなければならないというような、ちょっとした面倒を軽減させることが可能です。
Visual Studio Code 拡張機能
今回利用する拡張機能は、こちらです。
こちらの拡張機能は Jun Han さんという方が個人で開発されているもののようです。Jun Han さんは、GitHub リポジトリを見るに、Microsoft 社の社員さんのようですね。
※残念ながら、Oracle 社や Microsoft 社など、公式のものはありませんでした。
※ちなみに、こちらの拡張機能のライセンス形態がMIT
ライセンスとなっており、MySQL の GPL v2 ライセンスに違反している可能性があります。
また、こちらの拡張機能については、2019 年 4 月 3 日から更新が行われていないようです。(2020/10/17 現在)
Azure SQL Database for MySQL に接続
拡張機能の表示
拡張機能をインストールすると、Visual Studio Code のエクスプローラータブの中
に MySQL の表示が追加されます。
タブには新しく項目が追加されません。こちら、勘違いしやすいポイントですので、ご注意ください。
もし、エクスプローラータブ内に表示がされていない場合は、エクスプローラーの表示項目を確認してください。
表示する項目で、MySQL がチェック ON になっていることを確認します。
SSL ルート証明書のダウンロード
Azure SQL Database for MySQL では、構築時にデフォルトで SSL 接続が強要されるようになっています。
そのため、接続に使用する SSL 証明書をダウンロードします。
SSL ルート証明書のダウンロードは、以下の Microsoft Docs を参照してください。
サーバーファイアウォールの設定
SQL Database にはサーバー ファイアウォールの設定があります。
ここで、自身の端末のクライアント IP
からの接続を許可しておく必要があります。
設定していない場合は、事前に設定しておきます。
接続プロファイルの作成
エクスプローラーの MYSQL 欄の横にある、+ ボタンを選択します。
あるいは、[Ctrl] + [Shift] + [P]
(macOS の場合は [Command] + [Shift] + [P]) でコマンドパレットを表示し、MySQL: Add Connection を選択することでも対応可能です。
接続先の MySQL サーバー名を入力します。
ログインに使用するユーザー名を入力します。
ログインに使用するユーザー名のパスワードを入力します。
MySQL へ接続するためのポート番号を入力します。
SSL 証明書のパスの入力を求められます。
SSL ルート証明書のダウンロードで予めダウンロードしておいた、BaltimoreCyberTrustRoot.crt.pem
ファイルのパスを入力します。
※画像は macOS で、ダウンロードフォルダに該当ファイルをダウンロードした場合の例
値の入力が正常に完了したら、エクスプローラーの MYSQL 欄に新しく接続情報が追加され、以下のように接続ができるようになるはずです。
なお、接続先の Azure SQL Database for MySQL のサーバー、およびサーバー管理者ログイン名については、Azure ポータル上で確認可能です。
クエリ実行
使用するベータベースを選択し、右クリックで New Query を選択します。
SQL タブが表示されるので、クエリを作成していきます。
なお、現在接続している MySQL サーバー、およびデータベースについては、Visual Studio Code 画面下部から確認できます。
クエリを作成したら、画面を右クリック -> Run MySQL Query
または[Ctrl] + [Alt] + [E] (macOS の場合は、[Command] + [option] + [E])
でクエリを実行します。
実行結果は別タブで表示されます。
SELECT をはじめ、さまざまなクエリを実行できるため、プログラム側で実行するクエリの実行結果を、同じ Visual Studio Code (しかもタブ移動せずに) 簡単に確認することができます。