開発Blog

DB周り便利ツール

投稿日:

こんにちは。
そろばん3級、IM10級、現在、NTTデータビズインテグラルにて修行中の斎藤です。
IMのスキルが低いので、IMではなくオープンソースの便利ツールを紹介します。

「DBFlute」というオープンソースのO/Rマッパです。以下のサイトが本家です。
http://dbflute.sandbox.seasar.org/

O/Rマッパという括りだとHibernateやらS2JDBCみたいなの想像しますが、これはどちらかというとDBのインフラ、環境構築周りを支援するツールです。
だいたい以下のようなことできます。

DBFlute.JPG

  1. 1. DBのスキーマからメタ情報(テーブル名やカラムの型、名前など)を取得するAPIの提供
  2. 2. スキーマからEntityを自動生成
  3. 3. SQLからEntityを自動生成
  4. 4. スキーマ情報からドキュメントを自動生成
  5. 5. ExcelやCSVからスキーマデータを構築 

全部は語り尽くせないので4と5の機能について紹介します。

まず、4.スキーマ情報からドキュメントの自動生成ですが、DB上のスキーマ情報からHTMLを生成でき、EXCELなんかにそのまま貼付けできます。
(サンプル:http://dbflute.sandbox.seasar.org/ja/data/doc/basic/schema-exampledb.html)

お客様から「<テーブル定義書がないアプリ>のテーブル定義書をだせ!!」

なんてせっつかれた場合に、タスクを実行してコピペするだけで対応できます。
あとは死にそうな顔をしながら「頑張りました(ゲソ」といって提出すればOKです。

DB内のデータ(テーブル定義情報ではなく、中身のデータ)をExcelに出力することもできます。

また5.ExcelやCSVからスキーマを構築できます。テーブル定義だけじゃなく、中身のデータも自動投入します。
少し手間がいりますが追加タスクでSEQUENCEのインクリメントしたり、ストアド投入したりとかもできます。実に便利。

Biz∫ではこの機能を使ってアプリケーションの初期データを作成しています。
インポートするデータを外出しのEXCELやCSVでもっておいてそこからデータを投入しできるため、メンテナンスが非常に楽です。
投入するデータもフェーズ別に扱うことができ、例えばデモ用と結合試験用のデータを分けてEXCELに置いておき、それぞれフェーズにわけてデータ投入するといったようなことができます。
今までダンプ/インポートでスキーマのメンテしてるようなシステムではこっちのほうが便利だと思います。

そんなに難しくないツールなのでぜひ使ってみて下さい。

-開発Blog

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

intra-martベースモジュールver3.2 パラメータチューニングガイド

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 intra-martの各種パラメータ …

no image

intra-mart Advent Calendar 2013 第16日:ユーティリティメニュー(右上のヤーツ)の機能を追加、削除する方法

この記事は、intra-mart Advent Calendar 2013 第16日の記事です。 先日、ご紹介した「intra-mart Advent Calendar 2013 第7日:個人設定メニ …

no image

iAPへアクセスするURLが複数ある場合のベースURLの設定方法

ここでは、ベースURL をリクエスト情報を基に切り替えるための手順を BaseUrlProvider のサンプル実装、Webサーバとの連携例と共に紹介します。 製品標準の設定では、テナント一つにつき、 …

no image

Formaの画面遷移を制御するには

今回のブログ記事では、スクリプトを利用してFormaの画面遷移を制御する方法を紹介します。 目次 条件に応じて遷移先を変更する フォーム遷移設定 サンプルコード サンプルアプリケーション 処理後の遷移 …

IM-BloomMaker でリモートワークの報告メールを送信するアプリを作ってみた

はじめに IM-BloomMaker と IM-LogicDesigner で「リモートワークの報告メールを送信するアプリ」を作成したので、公開します。 新型コロナウィルスによる緊急事態宣言を受けて、 …

RSSRSSRSSRSS