Sequelize身份验证无法完成

时间:2015-04-30 21:14:22

标签: javascript node.js sequelize.js

我开始使用node.js和sequelize,我收到以下错误:

/home/cbaket/test/test.js:9
    .complete(function(err) {
     ^
TypeError: undefined is not a function
    at Object.<anonymous> (/home/cbaket/test/test.js:9:6)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

我的文件:test.js是:

var Sequelize = require('sequelize');
var sequelize = new Sequelize('apidb', 'apidb', 'apidb', {
    dialect: "mysql", // or 'sqlite', mysql', 'mariadb'
    port:    3306 // or 5432 (for postgres)
});

sequelize
    .authenticate()
    .complete(function(err) {
        if (!!err) {
            console.log('Unable to connect to the database:', err)
        } else {
            console.log('Connection has been established successfully.')
        }
    });

我正在关注Sequelieze网站上的一个早期教程。

我使用以下命令安装了最新的sequelize和mysql。

$ npm install mysql  
$ npm install sequelize

我尝试了很多类似的例子并且总是得到同样的错误。 这些库正在工作,因为其他示例工作正常,我可以在数据库中创建表并从中获取数据,但验证函数总是失败。

谢谢! ;)

4 个答案:

答案 0 :(得分:16)

Authenticate在sequelize的更高版本中返回Promise: https://github.com/sequelize/sequelize/blob/2.0/lib/sequelize.js#L939

阅读bluebird文档,因为它非常有用: https://github.com/petkaantonov/bluebird/blob/master/API.md

这样的事情应该有用(确保检查连接错误......这只是一个简单的例子):

cimport numpy as np
import numpy as np
import math

def logFullConAlphaK_opt(double[:] p, double[:] alpha, int k):
    cdef double t1=np.sum(np.log(p))
    cdef double y=((alpha[k-1]-1)*t1)-np.log(alpha[k-1])+(p.shape[0]*
                   (math.lgamma(np.sum(alpha))- math.lgamma(alpha[k-1])))
    return y 

答案 1 :(得分:5)

您好sequelize在最新版本中更改了他们的身份验证计划..请恢复旧版本并试用

答案 2 :(得分:2)

你是对的!! ;) 我只是删除了sequelize,然后重新安装了一个旧的veriosn:

  

npm install sequelize@1.7.0

它有效!!

我没有找到任何关于这方面的信息......难道他们不应该警告用户弃用或修改过的功能吗?¿?... ...

谢谢! ;)

答案 3 :(得分:0)

卸载系统中安装的sequelize模块,然后使用

安装该版本

npm install sequelize@1.7.0

检查models文件夹并确保其中包含正确的文件