我有一个简单的 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
最佳答案
对于那些将遇到同样问题的人。
如 Syntax error on sequelize.define()
中所述Alex 创建的问题,这与 sequelize
连接到的 PostgreSQL 版本有关:
Postgres 9.0 (and, of course, older) does not support CREATE TABLE IF NOT EXISTS
问题的两种不同解决方案:
- 升级 PostgreSQL 版本本身(9.4 是最新的稳定版本)
- 将
sequelize
升级到最新版本( the fix 已应用于sequelize
3.15 )
关于javascript - Sequelize 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205881/