【问题标题】:Sequelize syntax Error续集语法错误
【发布时间】:2015-12-18 00:19:09
【问题描述】:

我有一个简单的 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

【问题讨论】:

    标签: javascript node.js postgresql sequelize.js


    【解决方案1】:

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

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

    Postgres 9.0(当然还有更早的版本)不支持 CREATE TABLE IF NOT EXISTS


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

    • 自行升级 PostgreSQL 版本(9.4 为最新稳定版)
    • sequelize升级到最新版本(the fix应用于sequelize 3.15

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 2016-05-17
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 2018-11-19
      相关资源
      最近更新 更多