javascript - Sequelize 语法错误

标签 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

最佳答案

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

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/

相关文章:

如果我在其中使用警报,Javascript 代码就可以工作,否则它就无法工作

javascript - 在Node.js中,如何以不同的频率更新页面的不同组件?

javascript - 客户端Javascript调用Postgresql存储过程

javascript - JQuery Onchange 事件不适用于生产环境,但适用于我的本地实例

javascript - 无法弄清楚为什么opencv.js cv.fitEllipse()触发具有1个图像的未捕获异常,而没有触发另一个图像

javascript - 为什么我们对脚本使用 <script> 而对外部 CSS 不使用 <style> ?

javascript - Elasticsearch npm : Passing AWS Credentials

node.js - 误差k是来自 Angular 还是 Electron ?

java - 尝试部署旧的 Liferay Portal 版本

postgresql - 在 postgresql 9.1 中找不到 adminpack.sql