DiffKitはデータベース/CSVファイル間の差分を抽出する。

[/s2If]

DiffKitはJava製のオープンソース・ソフトウェア。適切なデータベース管理を行っていない状態で運用を続けていると、いつの間にか開発環境と実行環境で構造の不一致がおこる。カラムの順番が違う程度ならいいが、なぜあるのか分からないカラムが出てきたりすると厄介だ。

Screen-shot 351.png

データベースの構造不一致は様々な問題を引き起こす可能性がある。早めの対処が必要だ。そのためにはまず現状分析を行う必要があるだろう。手作業で行う必要はない、DiffKitを使えば容易に知ることができる。

DiffKitは二つのデータベース間における構造不一致を表示するためのツールだ。Diffツールのデータベース版ともいえる。特徴としてJDBCによるデータベース接続をサポートする他、CSVファイルにも対応していることが挙げられる。片方がCSV、片方がデータベースと組み合わせることもできる。

設定ファイルをXMLで記述する必要があるが、サンプルが多数用意されているのでそれを参考にすれば理解できるはずだ。MySQLからOracleに移行したいといった時のチェックにも利用できる。結果はDiffファイルで得られるのも面白い。

[s2If !current_user_can(access_s2member_level1)]

MOONGIFTは読者の皆さまのサポートによって運営されています。ぜひプレミアム登録お願いします!月 額500円の他、半年(3,000円)、年間パック(6,000円)もあります。!

[/s2If]

 

MOONGIFTはこう見る

プロジェクトの最初は大抵適切なデータベース設計ツールを使い、正規化もされている。だが日々運用が行われる中で付け足しになり、徐々に構造の適切さが乱れてくる。これは致し方ないことだ。問題はそれを把握し、補正することにある。

例えば一度構造を理想的に組み直した上で、現状との差分を見るということもできるだろう。それによって不要なフィールド、テーブルを洗い出して組み替えていくこともできる。DiffKitは日々の運用の中で役立ててほしいソフトウェアだ。

[/s2If]

 

http://www.diffkit.org/

 http://www.diffkit.org/

diffkit - Project Hosting on Google Code

 http://code.google.com/p/diffkit/