Node.js SailsJS/Waterline无法在Postgres中创建模型
我正在尝试将我的Sails JS应用程序部署到一个标准的Ubuntu 14.04.3虚拟机上 现在,我在连接我的SailsJS实例和PostgreSQL server实例时遇到问题。SailsJS服务器和PostgreSQL服务器都在同一个VM中运行 我从我的Sails JS日志中获得以下输出:Node.js SailsJS/Waterline无法在Postgres中创建模型,node.js,postgresql,sails.js,waterline,sails-postgresql,Node.js,Postgresql,Sails.js,Waterline,Sails Postgresql,我正在尝试将我的Sails JS应用程序部署到一个标准的Ubuntu 14.04.3虚拟机上 现在,我在连接我的SailsJS实例和PostgreSQL server实例时遇到问题。SailsJS服务器和PostgreSQL服务器都在同一个VM中运行 我从我的Sails JS日志中获得以下输出: MySailsServer-0 Sending 500 ("Server Error") response: Error (E_UNKNOWN) :: Encountered an unexpecte
MySailsServer-0 Sending 500 ("Server Error") response:
Error (E_UNKNOWN) :: Encountered an unexpected error
error: relation "recording" does not exist
at Connection.parseE (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)
at Connection.parseMessage (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)
at Socket.<anonymous> (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
关于为什么我在api/models/
下声明的模型都没有在PostgreSQL中生成表,有什么线索吗
下面是我在config/connections.js
下的配置:
postgresqlServer: {
adapter: 'sails-postgresql',
host: 'localhost',
user: <username>,
password: <password>,
database: <db_name>,
schema: true
}
我看不出我做错了什么。我的SailsJS模型似乎没有被翻译成PostgreSQL表,我不知道为什么。
非常感谢您的帮助 如果您在生产模式下使用
sails lift--prod
,sails会强制水线进入“安全”模式。在安全模式下,不进行数据库更改,包括表的初始设置
要事先构建模型,需要在不使用prod标志的情况下运行
sails lift
。理想情况下,如果您使用部署脚本,这是构建过程的一部分。尝试sails lift--silly
查看sails在构建模型时是否记录了任何有趣的内容。同样值得注意的是,如果您使用的是--prod
标志,则sails在prod中始终以安全模式运行,并且不会将更改迁移到数据库。@FrederickStark有趣……我假设使用--prod
至少可以创建表(如果尚未创建,但可能没有创建)。有没有办法指定我确实希望它与生产配置一起运行,但不只是在安全模式下运行?这是初始部署,因此还没有数据丢失。不确定。我通常在sails lift--prod
之前运行sails lift
,作为我构建的一部分process@FrederickStark谢谢事实证明,使用--prod
部署实际上并没有设置表。我必须运行sails lift
,而没有您提到的--prod
选项来创建表格。太棒了!介意我加上这个作为答案,以防其他人发现这个问题(真的,是为了互联网积分)?
postgresqlServer: {
adapter: 'sails-postgresql',
host: 'localhost',
user: <username>,
password: <password>,
database: <db_name>,
schema: true
}
module.exports.models = {
connection: 'postgresqlServer',
migrate: 'alter'
};