1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DBeaverでのテストデータ管理

Last updated at Posted at 2025-03-29

DBeaverでのテストデータ管理

DBeaverを使い始めて1ヶ月が経ちます。テストデータを作成したり、テスト結果を確認したりしていましたが、もっと効率よくテストができないかと思い、DBeaverの使い方を調べてみました。
この投稿は、DBeaverを初めて使う方や、テストデータの作成に時間がかかってしまう方にお勧めです!

概要

DBeaverのスクリプト機能を用いて、テストデータを管理する

課題

DBeaverは機能が豊富ですが、テーブル編集画面はExcelと比べると使いづらさを感じることがありました。例えば、オートフィル機能がなかったり,セルでの関数が使えなかったり…

従来の管理方法

テーブル編集はExcelの方がやりやすいと感じたので,Excelにテーブルごとのシートを作成してテストデータを管理していました。テスト時はExcelで編集したデータを用意してDBeaverにコピーしていました。
DBeaverの「高度なコピー」を使えば,カラム名や元のデータも簡単にExcelにコピーすることができます。この方法でもExcelの作成・編集まではそれなりに楽にできて,Excelにテスト前のデータを残しておけるというメリットもありました。

高度なコピー

オプションで「Copy header」にチェックを入れるとカラム名もコピーできる

Excelへの貼り付け

しかし,この方法ではDBeaverへのコピー後、Nullが設定されていないことがあります。
その場合、Nullを入れ直す必要があります。
また、テーブルごとにコピペするのでテーブルの量が多い時はかなり大変です。さらに,同じテストをもう一度実行したい時は、この作業を繰り返す必要があり非効率的です。

データ型によっては空白ではエラーになる

解決策

DBeaverのSQLスクリプトを管理する機能を用いてテストデータを管理します。
これには以下のメリットが挙げられます。

  • SQLを実行すればすぐにテストデータが作成できるようになる
  • 複数のテーブルも一度のSQLで更新できる
  • Nullを明示的に指定することができる

やり方

  1. プロジェクトの作成:

    • DBeaverで新しいプロジェクトを作成し、テストごとにフォルダ名を設定する(例:UserTest)
  2. スクリプトの作成:

    • Excelで編集したテーブルのデータをAIツールに投げて、1つのSQLスクリプトとして生成してもらう
    • 値がないところにはNULLを設定してもらう
    • データが既に登録済みの場合もあるためアップサートするスクリプトを作成してもらう
  3. スクリプトの保存:

    • DBeaver左上のSQLから「新しいSQLエディタ」を選択しエディタを開く
    • 生成したスクリプトを貼り付けて、作成したフォルダに名前を付けて保存する(例:test01.sql)
  4. スクリプトの実行:

    • スクリプトを実行すれば、テストデータの登録が完了する
      エディタの三角マークかcommand+Enter(WindowsはCtr+Enter)で実行できる
  5. 実行結果:
    usersテーブル(NULLで指定したところはNULLになっている)

    productsテーブル

    これで次回以降もこのスクリプトを実行すればテストデータを簡単にセットできます!

結論

DBeaverを活用することで、手動での操作負担を減らし、効率的かつ安全にテストデータを管理できます。より良い方法や使える機能があれば教えていただけると幸いです。

さいごに

  • データの保護: 機密情報を含む場合、AIの使用には十分注意してください
  • バージョン管理: Gitなどのバージョン管理システムと連携することで、SQLスクリプトの変更履歴を追跡でき、グループ内でのスクリプトの共有が容易に行えます
1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?