Fix DB schema
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
CREATE TABLE IF NOT EXISTS schema_version (
|
CREATE TABLE IF NOT EXISTS schema_version (
|
||||||
version INTEGER NOT NULL
|
version INTEGER NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
DELETE FROM schema_version;
|
DELETE FROM schema_version;
|
||||||
REPLACE INTO schema_version (version) VALUES (1);
|
|
||||||
|
INSERT INTO schema_version (version) VALUES (1);
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS directories (
|
CREATE TABLE IF NOT EXISTS directories (
|
||||||
path TEXT NOT NULL,
|
path TEXT NOT NULL,
|
||||||
|
|||||||
@@ -436,12 +436,14 @@ void Database::DetachDatabase(const QString &database_name) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Database::UpdateDatabaseSchema(int version, QSqlDatabase &db) {
|
void Database::UpdateDatabaseSchema(int version, QSqlDatabase &db) {
|
||||||
|
|
||||||
QString filename;
|
QString filename;
|
||||||
if (version == 0) filename = ":/schema/schema.sql";
|
if (version == 0) filename = ":/schema/schema.sql";
|
||||||
else filename = QString(":/schema/schema-%1.sql").arg(version);
|
else {
|
||||||
|
filename = QString(":/schema/schema-%1.sql").arg(version);
|
||||||
|
qLog(Debug) << "Applying database schema update" << version << "from" << filename;
|
||||||
|
}
|
||||||
|
|
||||||
qLog(Debug) << "Applying database schema update" << version << "from" << filename;
|
|
||||||
ExecSchemaCommandsFromFile(db, filename, version - 1);
|
ExecSchemaCommandsFromFile(db, filename, version - 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -474,7 +476,7 @@ void Database::UrlEncodeFilenameColumn(const QString &table, QSqlDatabase &db) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Database::ExecSchemaCommandsFromFile(QSqlDatabase &db, const QString &filename, int schema_version, bool in_transaction) {
|
void Database::ExecSchemaCommandsFromFile(QSqlDatabase &db, const QString &filename, int schema_version, bool in_transaction) {
|
||||||
|
|
||||||
// Open and read the database schema
|
// Open and read the database schema
|
||||||
QFile schema_file(filename);
|
QFile schema_file(filename);
|
||||||
if (!schema_file.open(QIODevice::ReadOnly))
|
if (!schema_file.open(QIODevice::ReadOnly))
|
||||||
|
|||||||
Reference in New Issue
Block a user