diff options
Diffstat (limited to 'rt/share/html/Install/Initialize.html')
-rw-r--r-- | rt/share/html/Install/Initialize.html | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/rt/share/html/Install/Initialize.html b/rt/share/html/Install/Initialize.html index 0b9ed6d39..47d7616a1 100644 --- a/rt/share/html/Install/Initialize.html +++ b/rt/share/html/Install/Initialize.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -73,6 +73,11 @@ if ( $Run ) { my @actions = split /,/, $RT::Installer->{DatabaseAction}; + # RT::Handle's ISA is dynamical, so we need to unshift the right one. + my $class = 'DBIx::SearchBuilder::Handle::' . RT->Config->Get('DatabaseType'); + $class->require or die $UNIVERSAL::require::ERROR; + unshift @RT::Handle::ISA, $class; + my $sysdbh = DBI->connect( RT::Handle->SystemDSN, $RT::Installer->{InstallConfig}{DatabaseAdmin}, @@ -110,14 +115,14 @@ if ( $Run ) { ($status, $msg) = RT::Handle->InsertACL( $dbh ); } elsif ( $action eq 'coredata' ) { - $RT::Handle = new RT::Handle; + $RT::Handle = RT::Handle->new; $RT::Handle->dbh( undef ); RT::ConnectToDatabase(); RT::InitLogging(); ($status, $msg) = $RT::Handle->InsertInitialData; } elsif ( $action eq 'insert' ) { - $RT::Handle = new RT::Handle; + $RT::Handle = RT::Handle->new; RT::Init(); my $file = $RT::EtcPath . "/initialdata"; ($status, $msg) = $RT::Handle->InsertData( $file ); |