diff options
author | Julien Dessaux | 2024-03-21 17:08:37 +0100 |
---|---|---|
committer | Julien Dessaux | 2024-03-27 15:21:00 +0100 |
commit | d668eac4a63a9aa98c3efff395faa23cfcea1c1b (patch) | |
tree | 691e3bb471bcacadb975f581f73e09b84287b4a5 /nodejs/database/db.ts | |
parent | [javascript] fixed mining loop (diff) | |
download | spacetraders-d668eac4a63a9aa98c3efff395faa23cfcea1c1b.tar.gz spacetraders-d668eac4a63a9aa98c3efff395faa23cfcea1c1b.tar.bz2 spacetraders-d668eac4a63a9aa98c3efff395faa23cfcea1c1b.zip |
[node] begin the great typescript rewrite
Diffstat (limited to '')
-rw-r--r-- | nodejs/database/db.ts (renamed from nodejs/database/db.js) | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/nodejs/database/db.js b/nodejs/database/db.ts index 4438fec..247ee5a 100644 --- a/nodejs/database/db.js +++ b/nodejs/database/db.ts @@ -11,7 +11,7 @@ const allMigrations = [ const db = new Database( process.env.NODE_ENV === 'test' ? 'test.db' : 'spacetraders.db', - process.env.NODE_ENV === 'development' ? { verbose: console.log } : null + process.env.NODE_ENV === 'development' ? { verbose: console.log } : undefined ); db.pragma('foreign_keys = ON'); db.pragma('journal_mode = WAL'); @@ -20,7 +20,8 @@ function init() { db.transaction(function migrate() { let version; try { - version = db.prepare('SELECT version FROM schema_version').get().version; + const res = db.prepare('SELECT version FROM schema_version').get() as {version: number}; + version = res.version; } catch { version = 0; } @@ -34,10 +35,10 @@ function init() { } export function reset() { - const indices = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'index';`).all(); - const tables = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'table';`).all(); - const triggers = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'trigger';`).all(); - const views = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'view';`).all(); + const indices = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'index';`).all() as Array<{name: string}>; + const tables = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'table';`).all() as Array<{name: string}>; + const triggers = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'trigger';`).all() as Array<{name: string}>; + const views = db.prepare(`SELECT name FROM sqlite_master WHERE type = 'view';`).all() as Array<{name: string}>; indices.forEach(elt => db.exec(`DROP INDEX ${elt.name};`)); tables.forEach(elt => db.exec(`DROP TABLE ${elt.name};`)); triggers.forEach(elt => db.exec(`DROP TRIGGER ${elt.name};`)); |