do not store DB file in extra redundat "local" subfolder

This commit is contained in:
Martin Rotter 2021-08-16 07:21:10 +02:00
parent bf5776eb13
commit 97f6c2c1ba
8 changed files with 20 additions and 7 deletions

View File

@ -28,6 +28,7 @@ class DatabaseDriver : public QObject {
explicit DatabaseDriver(QObject* parent = nullptr); explicit DatabaseDriver(QObject* parent = nullptr);
// API. // API.
virtual QString location() const = 0;
virtual QString humanDriverType() const = 0; virtual QString humanDriverType() const = 0;
virtual QString qtDriverCode() const = 0; virtual QString qtDriverCode() const = 0;
virtual DriverType driverType() const = 0; virtual DriverType driverType() const = 0;

View File

@ -62,6 +62,11 @@ MariaDbDriver::MariaDbError MariaDbDriver::testConnection(const QString& hostnam
} }
} }
QString MariaDbDriver::location() const {
return QSL("%1/%2").arg(qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLHostname)).toString(),
qApp->settings()->value(GROUP(Database), SETTING(Database::MySQLDatabase)).toString());
}
QString MariaDbDriver::interpretErrorCode(MariaDbDriver::MariaDbError error_code) const { QString MariaDbDriver::interpretErrorCode(MariaDbDriver::MariaDbError error_code) const {
switch (error_code) { switch (error_code) {
case MariaDbError::Ok: case MariaDbError::Ok:

View File

@ -24,6 +24,7 @@ class MariaDbDriver : public DatabaseDriver {
MariaDbError testConnection(const QString& hostname, int port, const QString& w_database, MariaDbError testConnection(const QString& hostname, int port, const QString& w_database,
const QString& username, const QString& password); const QString& username, const QString& password);
virtual QString location() const;
virtual QString humanDriverType() const; virtual QString humanDriverType() const;
virtual QString qtDriverCode() const; virtual QString qtDriverCode() const;
virtual DriverType driverType() const; virtual DriverType driverType() const;

View File

@ -16,6 +16,10 @@ SqliteDriver::SqliteDriver(bool in_memory, QObject* parent)
m_fileBasedDatabaseInitialized(false), m_fileBasedDatabaseInitialized(false),
m_inMemoryDatabaseInitialized(false) {} m_inMemoryDatabaseInitialized(false) {}
QString SqliteDriver::location() const {
return m_databaseFilePath;
}
DatabaseDriver::DriverType SqliteDriver::driverType() const { DatabaseDriver::DriverType SqliteDriver::driverType() const {
return DriverType::SQLite; return DriverType::SQLite;
} }

View File

@ -11,6 +11,7 @@ class SqliteDriver : public DatabaseDriver {
public: public:
explicit SqliteDriver(bool in_memory, QObject* parent = nullptr); explicit SqliteDriver(bool in_memory, QObject* parent = nullptr);
virtual QString location() const;
virtual DriverType driverType() const; virtual DriverType driverType() const;
virtual bool vacuumDatabase(); virtual bool vacuumDatabase();
virtual bool saveDatabase(); virtual bool saveDatabase();

View File

@ -160,7 +160,7 @@
#define APP_DB_SQLITE_DRIVER "QSQLITE" #define APP_DB_SQLITE_DRIVER "QSQLITE"
#define APP_DB_SQLITE_INIT "db_init_sqlite.sql" #define APP_DB_SQLITE_INIT "db_init_sqlite.sql"
#define APP_DB_SQLITE_PATH "database/local" #define APP_DB_SQLITE_PATH "database"
#define APP_DB_SQLITE_FILE "database.db" #define APP_DB_SQLITE_FILE "database.db"
// Keep this in sync with schema versions declared in SQL initialization code. // Keep this in sync with schema versions declared in SQL initialization code.

View File

@ -2,9 +2,12 @@
#include "gui/dialogs/formabout.h" #include "gui/dialogs/formabout.h"
#include "database/databasedriver.h"
#include "database/databasefactory.h"
#include "definitions/definitions.h" #include "definitions/definitions.h"
#include "exceptions/applicationexception.h" #include "exceptions/applicationexception.h"
#include "gui/guiutilities.h" #include "gui/guiutilities.h"
#include "miscellaneous/application.h"
#include "miscellaneous/iconfactory.h" #include "miscellaneous/iconfactory.h"
#include "miscellaneous/settingsproperties.h" #include "miscellaneous/settingsproperties.h"
#include "miscellaneous/textfactory.h" #include "miscellaneous/textfactory.h"
@ -33,9 +36,7 @@ void FormAbout::loadSettingsAndPaths() {
m_ui.m_txtPathsSettingsType->setText(tr("NOT portable")); m_ui.m_txtPathsSettingsType->setText(tr("NOT portable"));
} }
m_ui.m_txtPathsDatabaseRoot->setText(QDir::toNativeSeparators(qApp->userDataFolder() + m_ui.m_txtPathsDatabaseRoot->setText(qApp->database()->driver()->location());
QDir::separator() +
QString(APP_DB_SQLITE_PATH)));
m_ui.m_txtPathsSettingsFile->setText(QDir::toNativeSeparators(qApp->settings()->fileName())); m_ui.m_txtPathsSettingsFile->setText(QDir::toNativeSeparators(qApp->settings()->fileName()));
m_ui.m_txtPathsSkinsRoot->setText(QDir::toNativeSeparators(qApp->skins()->customSkinBaseFolder())); m_ui.m_txtPathsSkinsRoot->setText(QDir::toNativeSeparators(qApp->skins()->customSkinBaseFolder()));
} }

View File

@ -235,7 +235,7 @@ p, li { white-space: pre-wrap; }
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>83</width> <width>98</width>
<height>69</height> <height>69</height>
</rect> </rect>
</property> </property>
@ -305,7 +305,7 @@ p, li { white-space: pre-wrap; }
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>83</width> <width>98</width>
<height>69</height> <height>69</height>
</rect> </rect>
</property> </property>
@ -472,7 +472,7 @@ p, li { white-space: pre-wrap; }
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Database root path</string> <string>Database location</string>
</property> </property>
</widget> </widget>
</item> </item>