Вставить в базу данных sqlite3 в JS, ничего не добавлено в таблицу - PullRequest
0 голосов
/ 27 марта 2019

Структура моей таблицы:

sqlite3 <<< '.dump' bdd.sqlite
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE stats (epoch INTEGER PRIMARY KEY, scenario TEXT, image_path TEXT, exec_time INTEGER, result TEXT, passed TEXT);
COMMIT;

Мой код JavaScript:

const sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('./bdd.sqlite');
db.run(`INSERT INTO stats VALUES(?,?,?,?,?,?)`, [ Date.now(), 'foobar', 'none', 'OK', '', 'passed OK' ], function(err) {
  if (err) {
    return console.log(err.message);
  }
  // get the last insert id
  console.log(`A row has been inserted with rowid ${this.lastID}`);
});
db.close();

Что я делаю не так?

Когда я запускаю скрипт nodejs, ничего не добавлено, ни ошибка

1 Ответ

0 голосов
/ 29 марта 2019

Решение, не используйте этот модуль # *!% npm-sqlite3, но npm-better-sqlite3.

Некоторые модули на npm кажутся действительно дрянными.

Так что я написал, чтобы все работало с better-sqlite3 :

const db = require('better-sqlite3')('bdd.sqlite');

const stmt = db.prepare('INSERT INTO stats VALUES (?, ?, ?, ?, ?, ?)');
const info = stmt.run(Date.now(), 'relais', 'none', 'OK', '', 'passed OK');

console.log(info.changes); // => 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...