diff --git a/src/oro/originsdb.cpp b/src/oro/originsdb.cpp index 5e55bd3..946c177 100644 --- a/src/oro/originsdb.cpp +++ b/src/oro/originsdb.cpp @@ -44,7 +44,7 @@ OriginsDB::OriginsDB (std::string_view path) : OriginsDB::~OriginsDB() noexcept = default; -void OriginsDB::overwrite (const Items& items) { +void OriginsDB::update (const Items& items) { Database db(m_db_mutex, m_path); db.exec("DROP TABLE IF EXISTS items"); @@ -57,7 +57,17 @@ void OriginsDB::overwrite (const Items& items) { // "type":"IT_HEALING", // "npc_price":50 //} - db.exec("CREATE TABLE items (item_id INTEGER PRIMARY KEY, unique_name TEXT, name TEXT, type INTEGER, subtype INTEGER, npc_price INTEGER, slots INTEGER, icon TEXT)"); + db.exec( + "CREATE TABLE items (" + "item_id INTEGER PRIMARY KEY NOT NULL" + ", unique_name TEXT" + ", name TEXT" + ", type TINYINT" + ", subtype TINYINT" + ", npc_price INTEGER" + ", slots TINYINT" + ")" + ); SQLite::Statement query(db, "INSERT INTO items(item_id, unique_name, name, type, subtype, npc_price, slots) VALUES(?, ?, ?, ?, ?, ?, ?)"); for (const auto& item : items.items) { @@ -88,11 +98,18 @@ void OriginsDB::update (const Icons& icons) { //} Database db(m_db_mutex, m_path); - SQLite::Statement query(db, "UPDATE items SET icon = ? WHERE item_id = ?"); + db.exec("DROP TABLE IF EXISTS icons"); + db.exec( + "CREATE TABLE icons(" + "item_id INTEGER PRIMARY KEY NOT NULL" + ", icon TEXT" + ")" + ); + SQLite::Statement query(db, "INSERT INTO icons(item_id, icon) VALUES(?, ?)"); for (const auto& ico : icons.icons) { - query.bind(1, ico.icon); - query.bind(2, ico.item_id); + query.bind(1, ico.item_id); + query.bind(2, ico.icon); query.exec(); query.reset(); diff --git a/src/oro/originsdb.hpp b/src/oro/originsdb.hpp index 6bf488e..0302a5e 100644 --- a/src/oro/originsdb.hpp +++ b/src/oro/originsdb.hpp @@ -33,7 +33,7 @@ public: explicit OriginsDB(std::string_view path); ~OriginsDB() noexcept; - void overwrite (const Items& items); + void update (const Items& items); void update (const Icons& icons); private: diff --git a/src/timer_items.cpp b/src/timer_items.cpp index bc33823..b1caa07 100644 --- a/src/timer_items.cpp +++ b/src/timer_items.cpp @@ -41,7 +41,7 @@ namespace duck { set_timer(static_cast(next_timer)); } - db().overwrite(items.second); + db().update(items.second); } } //namespace duck