2015-06-12 49 views
2

後不工作我有這個Sequelize代碼連接到我的數據庫Sequelize單實例 - Module.exports

var sequelize = new Sequelize('db-name', 'user', 'pwd', { 
    host: 'XXX.XX.XX.XXX', 
    dialect: 'mysql', 

    pool: { 
     max: 50, 
     min: 0, 
     idle: 1000000 
    }, 
}); 

我有一個模塊在此包裹像下面

var express = require('express'); 
var app = module.exports = express(); 
var Sequelize = require('sequelize'); 


module.exports = function (Sequelize, DataTypes) { 
    return new Sequelize('db-name', 'user', 'pwd', { 
     host: 'XXX.XX.XX.XXX', 
     dialect: 'mysql', 
     pool: { 
      max: 50, 
      min: 0, 
      idle: 1000000 
     }, 
    }); 
}; 

然而,當我調用下面這段代碼:

var sequelize = require('../../Connection.js'); 
//load model 
var City = sequelize.import('../../models/City.js'); 

它給了我一個錯誤說 - 不確定是不是function.Basically它我不是能夠實例化sequelize對象,當我導入模塊時,我在一個頁面

我的核心要求把這些塊

然而一切工作正常 - 我想在我的節點應用單一的連接對象。我在各種頁面中模塊化了Express Routes。

回答

0

您的續集模塊導出了一個函數,該函數返回了sequelize。你有實際調用該函數

var sequelize = require('../../Connection.js')() <-- ; 

記住緩存實例中connection.js - 否則,你每次都得到一個新的連接。您也可以直接導出實例:

module.exports = new Sequelize('db-name', 'user', 'pwd', { 
    host: 'XXX.XX.XX.XXX', 
    dialect: 'mysql', 
    pool: { 
     max: 50, 
     min: 0, 
     idle: 1000000 
    }, 
});