Whiteのふりーとーく

2009年9月チーネセ

About this Page |過去分一覧

_ another blog@hatena/Wiki/BBS


9.9

@grepDDL

なんかこんなん既に世の中にありそうな気がするが、仕事中についカッとなったので作った。

SQLで書かれたDBのスキーマ定義をgrepして「どのテーブルの定義にその行があるのか」を表示する感じ。

#!/usr/bin/perl
use strict;
my $DDLFILE = '/file/path/to/DDL.sql';
unless($ARGV[0]){
	exit;
}
open(my $DDL,$DDLFILE);
my $current = '';
my $line = 0;
while(<$DDL>){
	$line++;
	chomp($_);
	if(/create\s+table\s+(\S*)/i){
		$current = $1;
	}
	if(/$ARGV[0]/o){
		printf "%-25s(line:%d): %s\n",$current,$line,$_;
	}
}

+comment(0) +trackback(1)


御意見・御感想の宛先white@niu.ne.jp