Sails.js:生产环境 +sails-mysql - 提升时未创建数据库表

Posted

技术标签:

【中文标题】Sails.js:生产环境 +sails-mysql - 提升时未创建数据库表【英文标题】:Sails.js: Production env + sails-mysql - database tables not created upon lift 【发布时间】:2014-10-05 00:10:00 【问题描述】:

在生产模式下,当提升 Sails 应用程序时,不会在提升时创建数据库表,而在开发模式下,它们会创建。现在,在部署时,我先在 dev 模式下运行一次,以便可以创建表,然后在 prod 模式下运行。有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

没有;这是设计使然。在生产环境中,Sails 不会进行任何迁移,以确保数据在提升时不会损坏或丢失。

来自风帆deployment guide:

在生产中运行时,Sails 会将您的所有模型设置为 migrate:safe,这意味着在启动应用程序时不会运行自动迁移。您可以通过以下方式设置数据库:在 服务器,然后在本地使用migrate:alter 运行您的sails 应用程序,但是 配置为使用生产服务器作为您的数据库。这会 自动设置。如果您无法连接到服务器 远程,您只需转储本地架构并将其导入 数据库服务器。

【讨论】:

如果表不存在,创建表不安全吗?我也遇到了这个问题,现在不知道如何创建所有的表。

以上是关于Sails.js:生产环境 +sails-mysql - 提升时未创建数据库表的主要内容,如果未能解决你的问题,请参考以下文章