summaryrefslogtreecommitdiffstats
path: root/src/library/library.cpp
diff options
context:
space:
mode:
authorUwe Klotz <uwe_klotz@web.de>2017-06-06 23:53:11 +0200
committerUwe Klotz <uwe_klotz@web.de>2017-06-12 07:30:17 +0200
commitef3f61a6bb51f9aec5169638b82b59fd6a365b50 (patch)
treee53c4379168f8ab93f1b9383ea783eb57aeb4799 /src/library/library.cpp
parentb81976f191edc09accf9fc1fda70233af4845d4a (diff)
Explicitly provide database connection for schema init/upgrade
Diffstat (limited to 'src/library/library.cpp')
-rw-r--r--src/library/library.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/library/library.cpp b/src/library/library.cpp
index ba171b99a8..be734487ef 100644
--- a/src/library/library.cpp
+++ b/src/library/library.cpp
@@ -62,13 +62,23 @@ Library::Library(QObject* parent, UserSettingsPointer pConfig,
m_pLibraryControl(new LibraryControl(this)),
m_pRecordingManager(pRecordingManager),
m_scanner(m_pTrackCollection, pConfig) {
- kLogger.info() << "Initializing datbase schema";
- if (!m_pRepository->initDatabaseSchema()) {
+ QSqlDatabase database = m_pRepository->database();
+ if (!database.isOpen()) {
+ QMessageBox::critical(0, tr("Cannot open database"),
+ tr("Unable to establish a database connection.\n"
+ "Mixxx requires QT with SQLite support. Please read "
+ "the Qt SQL driver documentation for information on how "
+ "to build it.\n\n"
+ "Click OK to exit."), QMessageBox::Ok);
// TODO(XXX) something a little more elegant
exit(-1);
}
- QSqlDatabase database = m_pRepository->database();
+ kLogger.info() << "Initializing datbase schema";
+ if (!m_pRepository->initDatabaseSchema(database)) {
+ // TODO(XXX) something a little more elegant
+ exit(-1);
+ }
kLogger.info() << "Repairing database";
m_pTrackCollection->repairDatabase(database);