diff --git a/database/app_data.db b/database/app_data.db index d89002d..7b2a33b 100644 Binary files a/database/app_data.db and b/database/app_data.db differ diff --git a/database/dao/AccountDAO.cpp b/database/dao/AccountDAO.cpp index 593051d..4b1dee1 100644 --- a/database/dao/AccountDAO.cpp +++ b/database/dao/AccountDAO.cpp @@ -9,8 +9,8 @@ bool AccountDAO::upsertAccount(const AccountInfo &info) { QSqlQuery query(DatabaseManager::instance().database()); query.prepare(R"( - INSERT INTO accounts (device_id, app_name, card_name, amount, update_time, status) - VALUES (:device_id, :app_name, :card_name, :amount, :update_time, :status) + INSERT INTO accounts (device_id, app_name, card_name, amount, update_time, status, description) + VALUES (:device_id, :app_name, :card_name, :amount, :update_time, :status, :description) ON CONFLICT(device_id, app_name, card_name) DO UPDATE SET amount = excluded.amount, @@ -24,6 +24,7 @@ bool AccountDAO::upsertAccount(const AccountInfo &info) { query.bindValue(":amount", info.amount); query.bindValue(":update_time", info.updateTime.toString(Qt::ISODate)); query.bindValue(":status", info.status); + query.bindValue(":description", info.description); if (!query.exec()) { qWarning() << "Ошибка при вставке/обновлении account:" << query.lastError().text(); @@ -45,7 +46,7 @@ QList AccountDAO::getAccounts(const QString &deviceId, const QStrin QSqlQuery query(DatabaseManager::instance().database()); query.prepare(R"( - SELECT id, device_id, app_name, card_name, amount, update_time, status + SELECT id, device_id, app_name, card_name, amount, update_time, status, description FROM accounts WHERE device_id = :device_id AND app_name = :app_name )"); @@ -67,6 +68,7 @@ QList AccountDAO::getAccounts(const QString &deviceId, const QStrin acc.amount = query.value("amount").toDouble(); acc.updateTime = QDateTime::fromString(query.value("update_time").toString(), Qt::ISODate); acc.status = query.value("status").toString(); + acc.description = query.value("description").toString(); accounts.append(acc); } diff --git a/migrations.sql b/migrations.sql index 609b09b..03467ed 100644 --- a/migrations.sql +++ b/migrations.sql @@ -18,6 +18,7 @@ CREATE TABLE IF NOT EXISTS accounts device_id TEXT, app_name TEXT, card_name TEXT, + description TEXT, amount REAL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP, status TEXT, diff --git a/models/db/AccountInfo.h b/models/db/AccountInfo.h index bd06270..d7fcdf1 100644 --- a/models/db/AccountInfo.h +++ b/models/db/AccountInfo.h @@ -10,4 +10,5 @@ struct AccountInfo { double amount; QDateTime updateTime; QString status; + QString description; }; \ No newline at end of file