diff options
Diffstat (limited to 'bin/create-history-tables')
-rwxr-xr-x | bin/create-history-tables | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/bin/create-history-tables b/bin/create-history-tables deleted file mode 100755 index 39248bf3f..000000000 --- a/bin/create-history-tables +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/perl -Tw - -use strict; -use DBI; -use DBIx::DBSchema 0.21; -use DBIx::DBSchema::Table; -use DBIx::DBSchema::Column; -use DBIx::DBSchema::ColGroup::Unique; -use DBIx::DBSchema::ColGroup::Index; -use FS::UID qw(adminsuidsetup); -use FS::Record qw(dbdef); - -my $user = shift or die &usage; -my $dbh = adminsuidsetup $user; - -my $schema = dbdef(); - -#false laziness w/fs-setup -my @tables = scalar(@ARGV) - ? @ARGV - : grep { ! /^(h|pg)_/ } $schema->tables; -foreach my $table ( @tables ) { - next if grep { /^h_$table/ } $schema->tables; - warn "creating history table for $table\n"; - my $tableobj = $schema->table($table) - or die "unknown table $table (did you run dbdef-create?)\n"; - my $h_tableobj = DBIx::DBSchema::Table->new( { - name => "h_$table", - primary_key => 'historynum', - unique => DBIx::DBSchema::ColGroup::Unique->new( [] ), - 'index' => DBIx::DBSchema::ColGroup::Index->new( [ - @{$tableobj->unique->lol_ref}, - @{$tableobj->index->lol_ref} - ] ), - columns => [ - DBIx::DBSchema::Column->new( { - 'name' => 'historynum', - 'type' => 'serial', - 'null' => 'NOT NULL', - 'length' => '', - 'default' => '', - 'local' => '', - } ), - DBIx::DBSchema::Column->new( { - 'name' => 'history_date', - 'type' => 'int', - 'null' => 'NULL', - 'length' => '', - 'default' => '', - 'local' => '', - } ), - DBIx::DBSchema::Column->new( { - 'name' => 'history_user', - 'type' => 'varchar', - 'null' => 'NOT NULL', - 'length' => '80', - 'default' => '', - 'local' => '', - } ), - DBIx::DBSchema::Column->new( { - 'name' => 'history_action', - 'type' => 'varchar', - 'null' => 'NOT NULL', - 'length' => '80', - 'default' => '', - 'local' => '', - } ), - map { - my $column = $tableobj->column($_); - $column->type('int') - if $column->type eq 'serial'; - $column->default('') - if $column->default =~ /^nextval\(/i; - ( my $local = $column->local ) =~ s/AUTO_INCREMENT//i; - $column->local($local); - $column; - } $tableobj->columns - ], - } ); - foreach my $statement ( $h_tableobj->sql_create_table($dbh) ) { - $dbh->do( $statement ) - or die "CREATE error: ". $dbh->errstr. "\ndoing statement: $statement"; - } - -} - -$dbh->commit or die $dbh->errstr; -$dbh->disconnect or die $dbh->errstr; - -sub usage { - die "Usage:\n create-history-tables user [ table table ... ] \n"; -} - |