续集目标postgres 8

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

{ [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"));' } 

我发现这个错误的问题,那家伙说,它只是需要升级到9 postgres。不幸的是,部署服务器上的所有系统都使用postgres 8,升级将不会很快提供。

有没有什么方法可以在sequelize中指定我正在使用的postgres版本,还是我应该使用什么后续版本?

谢谢

看起来, CREATE IF NOT EXISTS在postgres 8中不被支持。我search了一下,但是实现相同的行为似乎是相当复杂的。

IF NOT EXISTSsync({ force: false }) (或force完全忽略sync({ force: false })IF NOT EXISTS被添加到表格创build中。 我build议你要么调用sync({ force: true })这将删除并重新创build表 ; 或者完全不调用同步,并依赖于@sdepold提到的迁移