簡體   English   中英

使用Nodejs進行連接連接

[英]Sequelize connection with Nodejs

我面臨SEQUELIZE(mysql)與NodeJs的連接問題。 雖然建立了連接,但是模型配置不正確。 我已經使用這種方法-

./config/sequelize-conn.js

'use strict';
var sequelize  = function (config, Sequelize) {
var sql = new Sequelize(config.mysql.db, config.mysql.user, config.mysql.pass, {
    host:        config.mysql.host,
    dialect:     'mysql', //|'sqlite'|'postgres'|'mssql'
    pool:        {
        max:  5,
        min:  0,
        idle: 10000
    },
    //logging:     true,
    underscored: true
});
sql
    .sync({force: true})
    //.authenticate()
    .then(function () {
        console.log('Connection has been established successfully with mysql.');
    }, function (error) {
        console.log('Connection with mysql failed.', error);
    });
return sql;
};
module.exports = sequelize;

//server.js

var sequelize     = require('sequelize');
var sqlConnection = require('./config/sequelize-conn')(config, sequelize);

我希望以此方式直接使用模型..

models/HotelGroup.js

var Sequelize  = require('sequelize');
var sequelize  = require('../../config/sequelize-conn');
var HotelGroup = Sequelize.define('hotel_chains', {
    id:         {
        type:          Sequelize.INTEGER(11),
        allowNull:     false,
        primaryKey:    true,
        autoIncrement: true
    },
    hotel_name: {
        type:      Sequelize.STRING,
        allowNull: false
    },
    hotel_code: {
        type:      Sequelize.STRING,
        allowNull: false
    },
    status:     {
        type:         Sequelize.BOOLEAN,
        allowNull:    false,
        defaultValue: '1'
    }
}, {
    tableName:       'hotel_chains',
    timestamps:      false,
    paranoid:        true  // Model tableName will be the same as the model name
});
module.exports = HotelGroup;

它給我的錯誤sequelize.define不是一個函數。

雖然連接正在建立,但是當我嘗試使用require訪問服務文件中的任何模型時。 它與此錯誤消息一起中斷。 我在哪里做錯了。

我認為您需要使用sequelize的實例,而不是類。 所以sequelize.define 而不是 Sequelize.define

另外,您需要正確實例化它: var sequelize = new Sequelize(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM