2016-09-13 6 views
10

नहीं कहा जाता है, मैं node orm2 को sqlite के साथ आजमाकर देखना चाहता हूं। मैंने उदाहरण कोड की कोशिश की, और mysql को sqlite में बदल दिया। ऐसा लगता है:नोड orm2: orm.connect कॉलबैक को

var orm = require("orm"); 

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

    // ... 

}); 

मुझे कोई त्रुटि या चेतावनी नहीं मिली है। बस कुछ भी नहीं होता है। कॉलबैक बिल्कुल नहीं कहा जाता है।

यह काम नहीं करता है, भले ही मैं बनाने database.db से पहले

+0

मुझे संदेह है कि आप अपनी कनेक्शन स्ट्रिंग को परिभाषित करने के लिए ऑब्जेक्ट मोड का बेहतर उपयोग करेंगे [देखें] (https://github.com/dresende/node-orm2/blob/master/lib/ORM.js#L74)। अगर मैं 'url.parse ('sqlite: // D: \\ orm_test \\ डेटाबेस.db' चलाता हूं, सत्य); ', यह बदसूरत है। अजीब बात यह है कि आपने कहा कि सीबी को बुलाया नहीं गया है। यह एक बग के रूप में रिपोर्ट किया जाना चाहिए। –

+0

क्या आपने 'npm sqlite' भी इंस्टॉल किया था? – Shaharyar

+0

बेशक मैंने –

उत्तर

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()... 
}); 

कनेक्शन यूआरएल की तरह है:

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

आप में प्रिंट प्रश्नों का डिबग विकल्प का उपयोग कर सकते हैं कंसोल, शायद और अधिक जानकारी होगी?

संपादित करें:
ठीक है, मैं सिर्फ इसका इस्तेमाल करने की कोशिश की और कहा कि आपने क्या किया:

// 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 से पता चलता कंसोल में डीबी वस्तु की सामग्री क्या है। क्या आपका कोड इस तरह दिखता है?

+0

अभी भी कुछ भी नहीं है। 'चालू (' कनेक्ट ', ...' कॉलबैक को कभी भी –

+0

नहीं कहा जाता है क्या डीबग विकल्प = सत्य कुछ प्रिंट करता है? – Aethyn

संबंधित मुद्दे