summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-setup
diff options
context:
space:
mode:
authorivan <ivan>2005-12-07 23:48:58 +0000
committerivan <ivan>2005-12-07 23:48:58 +0000
commit5d03c5bf1e774050bbdad9964408f248855ec317 (patch)
tree97ba36df5191922a22de262b5a3798153ce42f23 /FS/bin/freeside-setup
parent4b2ee72b32274f78c1c8a859b34e0d49dfb6cd4b (diff)
for fetching inserted keys without pg_oid_status, look up the actual sequence name from dbdef rather than assuming ${table}_${column}_seq
Diffstat (limited to 'FS/bin/freeside-setup')
-rwxr-xr-xFS/bin/freeside-setup14
1 files changed, 13 insertions, 1 deletions
diff --git a/FS/bin/freeside-setup b/FS/bin/freeside-setup
index 14c5a84ab..a16e51749 100755
--- a/FS/bin/freeside-setup
+++ b/FS/bin/freeside-setup
@@ -9,7 +9,7 @@ use Getopt::Std;
use Locale::Country;
use Locale::SubCountry;
use FS::UID qw(adminsuidsetup datasrc checkeuid getsecrets);
-use FS::Schema qw( dbdef_dist );
+use FS::Schema qw( dbdef_dist reload_dbdef );
use FS::Record;
use FS::cust_main_county;
#use FS::raddb;
@@ -98,6 +98,12 @@ foreach my $statement ( $dbdef->sql($dbh) ) {
or die "CREATE error: ". $dbh->errstr. "\ndoing statement: $statement";
}
+#now go back and reverse engineer the db
+#so we pick up the correct column DEFAULTs for #oidless inserts
+dbdef_create($dbh, $dbdef_file);
+delete $FS::Schema::dbdef_cache{$dbdef_file}; #force an actual reload
+reload_dbdef($dbdef_file);
+
#cust_main_county
foreach my $country ( sort map uc($_), all_country_codes ) {
@@ -162,6 +168,12 @@ $dbh->disconnect or die $dbh->errstr;
#print "Freeside database initialized sucessfully\n";
+sub dbdef_create { # reverse engineer the schema from the DB and save to file
+ my( $dbh, $file ) = @_;
+ my $dbdef = new_native DBIx::DBSchema $dbh;
+ $dbdef->save($file);
+}
+
sub usage {
die "Usage:\n freeside-setup user\n";
}