【PhpStorm】Database Consoleを使用して、テーブルの更新前・更新後を比較する。

【PhpStorm】Database Consoleを使用して、テーブルの更新前・更新後を比較する。

なんだか常にお腹が空いているfukasawaです。こんにちは。
太るのも困りますが、たくさん食べているのに血肉になっている実感が得られないと、それはそれで少し損した気持ちになりますね。

今回はPhpStormの機能紹介です。
プログラムの動作確認をする際、実行前と実行後でDBの値がちゃんと更新されているかどうかを確認したいことがあると思います。PhpStormでは更新前・更新後のテーブルを簡単に比較することができます。さっくりとやり方を見ていきます。

20161114_fukasawa_03.png

テスト用のテーブル(users)を用意しました。(SELECT文を実行した結果です。)

SELECT * FROM users;

20161114_fukasawa_04.png

これを"更新前"の状態とします。この実行結果が次のSELECTの実行結果で上書きされてしまわないよう「Pin Tab」で留めておきます。(実行結果のタブを右クリック → 「Pin Tab」をクリック)

20161114_fukasawa_05.png

次に、usersテーブルのレコードを適当に更新してみます。下記のSQLを実行しました。

-- id = 1 のレコードを更新
UPDATE users
SET name = '弘明寺', ruby = 'グミョウジ', mail = 'gumyouji@c-brains.jp', modified = now()
WHERE id = 1;

-- レコードを追加
INSERT INTO users (name, ruby, mail, delete_flag, created, modified)
VALUES
  ('日ノ出町', 'ヒノデチョウ', 'hinodecho@c-brains.jp', 0, now(), now());

再度SELECT文を実行し、実行結果を取得しました。これを"更新後"の状態とします。

SELECT * FROM users;

20161114_fukasawa_06.png

更新前と更新後の実行結果を比較してみます。

更新前のタブを選択 → 「Compare with」アイコンをクリック → 更新後のタブを選択

20161114_fukasawa_07.png

表示できました。id = 1のレコードが更新され、id = 4 のレコードが追加されていることが確認できます。

20161114_fukasawa_08.png

「Tolerance」という入力欄に「4」を指定すると、id = 1 のレコードの更新されたカラムがハイライトされました。
「4」を指定すると、更新されたカラムが4箇所以上あるレコードがハイライトされる(?)という動きをしているようにみえるのですが、ヘルプの中にこの機能についての記載を見つけることができなかったので、はっきりとしたことはわからないです。

20161114_fukasawa_09.png

更新前のタブを「Pin Tab」しておかないと、次にSELECT文を実行したときに実行結果が上書きされてしまうのですが、 設定で「Show query results in new tab」にチェックを入れておくと、SELECT文の実行結果が常に新しいタブで開くようになります。こちらの設定にチェックを入れている場合はタブが上書きされないので、「Pin Tab」をしなくても大丈夫です。
([File] → [Settings] → [Tools] → [Database] → 「Show query results in new tab」 にチェック)

20161114_fukasawa_10.png

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ