Итак, я пытался создать валютную систему и систему инвентаря для моего бота Discord в течение последних нескольких дней. Однако, похоже, я вообще не могу добиться прогресса. Я пробовал использовать sequelize и better-sqlite3 (это то, что я сейчас использую), но безуспешно.
const table = sql.prepare("SELECT count(*) FROM sqlite_master WHERE type ='table' AND name = 'balance';").get();
if (table["count(*)"] === 0) {
console.log("creating table...");
sql.prepare("CREATE TABLE scores (id TEXT PRIMARY KEY, user TEXT, guild TEXT, money INTEGER);").run();
sql.prepare("CREATE UNIQUE INDEX idx_scores_id ON scores (id);").run();
sql.pragma("synchronous = 1");
sql.pragma("journal_mode = wal");
}
client.getScore = sql.prepare("SELECT * FROM balance WHERE user = ? AND guild = ?");
client.setScore = sql.prepare("INSERT OR REPLACE INTO money (id, user, guild, money) VALUES (@id, @user, @guild, @money);");
Приведенный выше код приводит к этой ошибке:
(node:13036) UnhandledPromiseRejectionWarning: SqliteError: table scores already exists
У меня не так много знаний о подобных вещах, так как там так мало материала, на который я мог бы сослаться к.