首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SailsJS/Waterline不能在Postgres中创建模型

SailsJS/Waterline不能在Postgres中创建模型
EN

Stack Overflow用户
提问于 2015-10-17 20:03:52
回答 1查看 1.1K关注 0票数 1

我试图将Sails应用程序部署到一个标准的Ubuntu14.04.3VM上。

现在,我很难将我的SailsJS实例连接到PostgreSQL服务器实例。SailsJS服务器和PostgreSQL服务器都运行在同一个VM中。

我从Sails日志中获得了以下输出:

代码语言:javascript
复制
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)

我的Recording模型似乎没有在数据库中创建。我查看了Postgre日志以获得更多信息。这是cat /var/log/postgresql/postgresql-9.3-main.log的输出

代码语言:javascript
复制
2015-10-17 14:46:13 CDT ERROR:  relation "recording" does not exist at character 491
2015-10-17 14:46:13 CDT STATEMENT:  SELECT "recording"."startTime", "recording"."endTime", "recording"."filename", "recording"."id", "recording"."createdAt", "recording"."updatedAt", "recording"."section", "__section"."startTime" AS "section___startTime", "__section"."endTime" AS "section___endTime", "__section"."name" AS "section___name", "__section"."id" AS "section___id", "__section"."createdAt" AS "section___createdAt", "__section"."updatedAt" AS "section___updatedAt", "__section"."course" AS "section___course" FROM "recording" AS "recording"  LEFT OUTER JOIN "section" AS "__section" ON "recording"."section" = "__section"."id"  LIMIT 30 OFFSET 0

为什么我在api/models/下声明的模型中没有一个是在PostgreSQL中被制作成表的?

下面是我在config/connections.js下的配置

代码语言:javascript
复制
  postgresqlServer: {
    adapter: 'sails-postgresql',
    host: 'localhost',
    user: <username>,
    password: <password>,
    database: <db_name>,
    schema: true
  }

config/models.js下,我将:

代码语言:javascript
复制
module.exports.models = {
  connection: 'postgresqlServer',
  migrate: 'alter'
};

我看不出我做错了什么。我的SailsJS模型似乎没有被转换成PostgreSQL表,我也不知道为什么。任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-19 01:41:24

如果您正在使用sails lift --prod提升生产模式,sails将使输水管线进入“安全”模式。在安全模式下,不进行数据库更改,包括表的初始设置。

为了提前构建模型,您需要在没有prod标志的情况下运行sails lift。理想情况下,如果使用部署脚本,这是构建过程的一部分。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33191043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档