Sequelize语法错误

时间:2015-12-10 15:35:40

标签: javascript node.js postgresql sequelize.js

我有一个简单的Sequelize设置。

var config = require('../config'),
    Sequelize = require('sequelize'),
    sequelize = new Sequelize(
        config.get('database'),
        config.get('username'),
        config.get('password'), {
            host: config.get('host'),
            port: config.get('dbport'),
            dialect: config.get('dialect'),
            pool: {
                max: 5,
                min: 0,
                idle: 10000
            }
        })

如果我运行普通支票sequelize.authenticate(),它可以正常工作并显示连接没有问题。但是,如果我尝试定义一个简单模型,sequelize.sync();会抛出错误:Unhandled rejection SequelizeDatabaseError: syntax error at or near "NOT"。 在我看来,在sequelize或驱动程序中存在问题。 顺便说一句,我使用PostgreSQL 9.0.13

1 个答案:

答案 0 :(得分:2)

对于那些会遇到同样问题的人。

正如Alex创建的Syntax error on sequelize.define()问题中所述,这与PostgreSQL版本sequelize连接到的内容有关:

  

Postgres 9.0(当然,更旧)不支持CREATE TABLE IF NOT NOT EXISTS

问题的两种不同解决方案:

  • 升级PostgreSQL版本本身(9.4是最新稳定版)
  • sequelize升级到最新版本(the fix已应用于sequelize 3.15