我在我的应用程序中使用了MongoDB,现在我需要连接到Postgresql来获取其他数据。但是,在我为Postgresql添加连接和模型之后,在使用sails lift启动应用程序时出现了一个错误。以下是整个错误消息:
error: A hook (`orm`) failed to load!
error: Error (E_UNKNOWN) :: Encountered an unexpected error
error: syntax error at or near "SELEC"
at Connection.parseE (/Users/xx/Documents/xx/Code/services/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)
at Connection.parseMessage (/Users/xx/Documents/xx/Code/services/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)
at Socket.<anonymous> (/Users/xx/Documents/xx/Code/services/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:172:18)
at Socket.Readable.push (_stream_readable.js:130:10)
at TCP.onread (net.js:535:20)我对工作应用程序所做的所有更改如下:
models.js中添加models.js以将MongoDB设置为默认的DB连接。connection: 'postgresdb',以连接到Postgresql。我花了很多时间在这上面。正如我对文档的调查和学习一样,似乎所有的配置都没问题。我错过什么了吗?
如果有人能帮忙,我将不胜感激。
发布于 2017-11-04 13:58:37
最后,我找到了根本原因,几乎崩溃了。因为默认连接是MongoDB,并且migrate的值被设置为alter,所以使用这种自动迁移策略使用PostgreSQL的模型。这就是它试图操纵DB的原因,它实际上可以从错误消息中推断出来。
因此,在我将migrate: safe添加到连接到PostgreSQL的模型之后,它就起了作用。
下面是SailsJS文档的自动迁移策略。
自动迁移策略 永远不要自动迁移我的数据库。我会亲自动手的。自动迁移列/字段,但是尝试保留我现有的数据(试验性的),删除/删除所有数据,并在每次提升Sails时重建模型
https://stackoverflow.com/questions/47109262
复制相似问题