[pgsql-jp: 25918] Re: テーブル定義書を作成するソフト
KAWAI,Takanori
GCD00051 @ nifty.ne.jp
2002年 5月 14日 (火) 11:54:48 JST
川合孝典です。
----- Original Message -----
From: "横山敬一" <keiichi.yokoyama @ uis.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Tuesday, May 14, 2002 10:12 AM
Subject: [pgsql-jp: 25910] テーブル定義書を作成するソフト
> いつもお世話になっております。横山と申します。
>
> 最近、PostgreSQLを使用し始めたものです。
> そこで、ご存じの方がいらしたらアドバイス頂きたいのですが、
> よろしくお願い致します。
> 現在、DB上に複数のテーブルが存在するのですが、そのテーブル定義書
> (項目名、データ型、桁数)などをドキュメントにしたいのですが、
> このような事ができるソフトは、あるのでしょうか?
さきほどから山ほどあることは証明されたみたいですけれど(^^;;
PerlでDBIx::DBSchemaというモジュールを利用しても、かなり簡単に
作れそうです。
[単純な例]
use strict;
use DBIx::DBSchema;
my $hDb = DBI->connect('dbi:Pg:host=lins;dbname=test',
'postgres', '',
{AutoCommit=>0, RaiseError=>1});
my $schema = new_native DBIx::DBSchema $hDb;
my ($sTbl, $oTbl);
my ($sCol, $oCol);
foreach $sTbl ($schema->tables()) {
$oTbl = $schema->table($sTbl);
print $oTbl->{name}, "\n";
foreach $sCol ($oTbl->columns) {
$oCol = $oTbl->column($sCol);
printf " %-20s %-10s %5s\n",
$oCol->{name}, $oCol->{type}, $oCol->{length};
}
}
$hDb->disconnect();
[実行例]
C:\temp>perl tdbix.pl
minutes
hiduke date
jikan int4
members varchar 64
subject varchar 255
conclusion varchar 255
filename int4
stqueue
no int4
name varchar 80
test
name varchar 30
#Spreadsheet::WriteExcelと組み合わせれば、Excelファイルにも
#落とせるなぁ...
===================================================
川合 孝典 (Hippo2000)
DBI日本語メーリングリスト管理人、Kansai.pm所属
kwitknr @ cpan.org GCD00051 @ nifty.ne.jp
http://member.nifty.ne.jp/hippo2000
http://www.hippo2000.info/
「Perlを256倍使うための本 DBI編」 発売中
http://member.nifty.ne.jp/hippo2000/p256dbi/p256dbi.htm
===================================================
pgsql-jp メーリングリストの案内