Sql 续读目标研究生8

Sql 续读目标研究生8,sql,node.js,postgresql,sequelize.js,Sql,Node.js,Postgresql,Sequelize.js,我已经在这个项目上使用sequelize有一段时间了。从现在起,服务器上就没有部署任何东西,我认为这只是“npm安装”并运行应用程序。但我在服务器上发现了一个奇怪的错误: { [SequelizeDatabaseError: error: syntax error at or near "NOT"] name: 'SequelizeDatabaseError', message: 'error: syntax error at or near "NOT"', parent: {

我已经在这个项目上使用sequelize有一段时间了。从现在起,服务器上就没有部署任何东西,我认为这只是“npm安装”并运行应用程序。但我在服务器上发现了一个奇怪的错误:

{ [SequelizeDatabaseError: error: syntax error at or near "NOT"]
  name: 'SequelizeDatabaseError',
  message: 'error: syntax error at or near "NOT"',
  parent:
   { [error: syntax error at or near "NOT"]
     name: 'error',
     length: 81,
     severity: 'ERROR',
     code: '42601',
     detail: undefined,
     hint: undefined,
     position: '17',
     internalPosition: undefined,
     internalQuery: undefined,
     where: undefined,
     file: 'scan.l',
     line: '911',
     routine: 'base_yyerror',
     sql: 'CREATE TABLE IF NOT EXISTS "adapters" ("id"   SERIAL , "adapter_number" VARCHAR(255), "password" VARCHAR(255), "last_connect" TIMESTAMP WITH TIME ZONE, "adaman_version" INTEGER, "adaap_version" INTEGER, "created_at" TIMESTAMP WITH TIME ZONE NOT NULL, "updated_at" TIMESTAMP WITH TIME ZONE NOT NULL, PRIMARY KEY ("id"));' }
我在问题中发现了这个错误,那个家伙说只需要将postgres升级到9。不幸的是,部署服务器上的所有系统都在使用postgres 8,升级很快将不可用

sequelize中是否有任何方法可以指定我正在使用的postgres版本,或者我应该使用的sequelize版本


谢谢

看来postgres 8不支持
如果不存在则创建
。我四处搜索了一下,但要达到同样的行为似乎相当困难


当您在sequelize中执行
同步({force:false})
时(或完全省略
force
时,
如果不存在,则将
添加到表创建中。我建议您调用
sync({force:true})
这将删除并重新创建表;或者干脆不调用sync,并且依赖@sdepold提到的迁移

Hm,我不知道pg8不支持这一点:-/我想知道在这种情况下您是否可以使用迁移?谢谢。将尝试此功能并在测试后发布。测试后,它似乎不起作用。语句仍然是一样的,{force:true}@Gelidus的错误也是一样的。我也遇到了同样的问题,将postgres升级到v9是不可能的。你找到这个问题的解决方案了吗?@SoichiHayashi没有,那天图书馆没有实现这个功能,我真的不确定现在是否有。我们将所有系统更新为Postgres9