Подтвердить что ты не робот

Node orm2: обратный вызов orm.connect не вызывается

Я хотел бы попробовать node orm2 с sqlite. Я попробовал код примера и изменил mysql на sqlite. Это выглядит так:

var orm = require("orm");

orm.connect('sqlite://D:/orm_test/database.db', function (err, db) {

    // ...

});

Я не получаю никаких ошибок или предупреждений. Просто ничего не происходит. Обратный вызов вообще не вызывается.

Это не работает, даже если я создаю database.db до

4b9b3361

Ответ 1

В соответствии с документацией обратный вызов вызывается только тогда, когда соединение выполнено успешно (или безуспешно)... Поэтому, если ваш путь неверен (по какой-либо причине, и ваше соединение НЕ является явно неудачным), может быть, нет обратного вызова?

Вы можете избежать обратного вызова, если вы прослушиваете событие подключения напрямую, как это:

var orm = require('orm');
var db = orm.connect('sqlite://D:/orm_test/database.db');
db.on('connect', function(err) {
  if (err) return console.error('Connection error: ' + err);
  // doSomething()...
});

URL-адрес соединения похож:

driver://username:[email protected]/database?option=value

Вы можете использовать опцию debug для печати запросов в консоли, может быть, будет больше информации?

EDIT:
Ну, я просто попытался использовать его и сделал это:

// REQUIRES
var express = require('express');
var app = express();
var orm = require("orm");
var sqlite3 = require('sqlite3');

// SERVER CONFIGURATION
var port = 5050;

// APP CONFIGURATION
app.use(express.static('public'));
app.use('/static', express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');

// ROUTES
app.get('/', function(req, res){
    orm.connect('sqlite://C:/Users/Me/Documents/Projects/test/database.db', function(err, db){
    console.log('connected to this db : ' + JSON.stringify(db));
    });
});

app.listen(port, function(){
    console.info('Server successfully started, listening on port ' + port);
});

И он работает... JSON.stringify показывает, что такое содержимое объекта базы данных в консоли. Ваш код выглядит так?