Bug 9085 - Installer will not run with DEBUG set
This is due to raising all db errors combined with the fact that attempts to make selections from a non-existent systempreferences table raises db errors. The installer should run even with DEBUG set, otherwise dropping and recreating a development database becomes somewhat of a chore. This patch adds code to check for the existence of the systempreferece table. If the table exists, then RaiseError is enabled on the database handle. Otherwise it is disabled to allow the installer to run without throwing an error. Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com> The installer can now be run both with and without DEBUG set. Signed-off-by: Paul Poulain <paul.poulain@biblibre.com> Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
This commit is contained in:
parent
a7ff2a2e4d
commit
cb6870d8d1
|
|
@ -787,8 +787,23 @@ sub _new_dbh
|
|||
my $db_user = $context->config("user");
|
||||
my $db_passwd = $context->config("pass");
|
||||
# MJR added or die here, as we can't work without dbh
|
||||
my $dbh= DBI->connect("DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port",
|
||||
my $dbh = DBI->connect("DBI:$db_driver:dbname=$db_name;host=$db_host;port=$db_port",
|
||||
$db_user, $db_passwd, {'RaiseError' => $ENV{DEBUG}?1:0 }) or die $DBI::errstr;
|
||||
|
||||
# Check for the existence of a systempreference table; if we don't have this, we don't
|
||||
# have a valid database and should not set RaiseError in order to allow the installer
|
||||
# to run; installer will not run otherwise since we raise all db errors
|
||||
|
||||
eval {
|
||||
local $dbh->{PrintError} = 0;
|
||||
local $dbh->{RaiseError} = 1;
|
||||
$dbh->do(qq{SELECT * FROM systempreferences WHERE 1 = 0 });
|
||||
};
|
||||
|
||||
if ($@) {
|
||||
$dbh->{RaiseError} = 0;
|
||||
}
|
||||
|
||||
my $tz = $ENV{TZ};
|
||||
if ( $db_driver eq 'mysql' ) {
|
||||
# Koha 3.0 is utf-8, so force utf8 communication between mySQL and koha, whatever the mysql default config.
|
||||
|
|
|
|||
Loading…
Reference in New Issue