2015-12-10 37 views
0

我有一个简单的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"。 在我看来,在续集或驱动程序中存在问题。 顺便说一句,我使用PostgreSQL 9.0.13

回答

1

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

正如Syntax error on sequelize.define()问题亚历克斯创建表示,这是关系到什么PostgreSQL的版本是sequelize连接:

Postgres 9.0 (and, of course, older) does not support CREATE TABLE IF NOT EXISTS


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

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