summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla/DB.pm2
-rw-r--r--Bugzilla/DB/Schema/Sqlite.pm9
2 files changed, 10 insertions, 1 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm
index ae9fffd3a..0a3123ee9 100644
--- a/Bugzilla/DB.pm
+++ b/Bugzilla/DB.pm
@@ -232,7 +232,7 @@ EOT
sub bz_create_database {
my $dbh;
# See if we can connect to the actual Bugzilla database.
- my $conn_success = $dbh = connect_main();
+ my $conn_success = eval { $dbh = connect_main() };
my $db_name = Bugzilla->localconfig->{db_name};
if (!$conn_success) {
diff --git a/Bugzilla/DB/Schema/Sqlite.pm b/Bugzilla/DB/Schema/Sqlite.pm
index 8f8af3803..171f6217c 100644
--- a/Bugzilla/DB/Schema/Sqlite.pm
+++ b/Bugzilla/DB/Schema/Sqlite.pm
@@ -64,6 +64,15 @@ sub _initialize {
}
+sub get_create_database_sql {
+ # If we get here, it means there was some error creating the
+ # database file during bz_create_database in Bugzilla::DB,
+ # and we just want to display that error instead of doing
+ # anything else.
+ Bugzilla->dbh;
+ die "Reached an unreachable point";
+}
+
sub get_type_ddl {
my $self = shift;
my $def = dclone($_[0]);