X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Fgenerate-table-module;h=37a581200bc72a894fc65393cfff6c3141acee5d;hp=0baf23d0951bc4753be48fb234bc909d4ce11a6a;hb=de549dfea65bf78508b508f03e4f9637122166a6;hpb=feef0e4c2b4bd6b776b25f5a1bd6fdbf63fd08b2 diff --git a/bin/generate-table-module b/bin/generate-table-module index 0baf23d09..37a581200 100755 --- a/bin/generate-table-module +++ b/bin/generate-table-module @@ -1,7 +1,11 @@ #!/usr/bin/perl +use strict; +use vars qw( $opt_n ); use FS::Schema qw( dbdef_dist ); +use Getopt::Std; +getopts('n'); my $table = shift; ### @@ -13,6 +17,7 @@ my %ut = ( #just guesses 'number' => 'float', 'varchar' => 'text', 'text' => 'text', + 'serial' => 'number', ); my $dbdef_table = dbdef_dist->table($table) @@ -30,10 +35,12 @@ while (my $line = ) { if ( $line =~ /^=item\s+field\s+-\s+description\s*$/ ) { foreach my $column ( $dbdef_table->columns ) { - print DEST "=item $column - "; - print DEST "primary key" - if $column eq $primary_key; - print DEST "\n\n"; + print DEST "=item $column\n\n"; + if ( $column eq $primary_key ) { + print DEST "primary key\n\n"; + } else { + print DEST "$column\n\n"; + } } next; @@ -63,16 +70,24 @@ close SRC; close DEST; ### +# add to FS/FS/Mason.pm +### + +my $magic = '# Sammath Naur'; +system("perl -pi -e 's/$magic/use FS::$table;\n $magic/' FS/FS/Mason.pm") + unless $opt_n; + +### # add FS/t/table.t ### open(TEST,">FS/t/$table.t") or die $!; print TEST <