如何在sails.js中迁移数据库?

康纳·里奇

所以我创建了一个新的Sails.js项目,然后运行

$ sails generate api user

如建议的加载页面。但是现在当我用服务器启动服务器时,sails lift出现错误:

sails lift               

info: Starting app...

-----------------------------------------------------------------

 Excuse my interruption, but it looks like this app
 does not have a project-wide "migrate" setting configured yet.
 (perhaps this is the first time you're lifting it with models?)

 In short, this setting controls whether/how Sails will attempt to automatically
 rebuild the tables/collections/sets/etc. in your database schema.
 You can read more about the "migrate" setting here:
 http://sailsjs.org/#/documentation/concepts/ORM/model-settings.html?q=migrate

 In a production environment (NODE_ENV==="production") Sails always uses
 migrate:"safe" to protect inadvertent deletion of your data.
 However during development, you have a few other options for convenience:

 1. safe  - never auto-migrate my database(s). I will do it myself (by hand) 
 2. alter - auto-migrate, but attempt to keep my existing data (experimental)
 3. drop  - wipe/drop ALL my data and rebuild models every time I lift Sails

What would you like Sails to do?

info: To skip this prompt in the future, set `sails.config.models.migrate`.
info: (conventionally, this is done in `config/models.js`)

我必须要运行帆迁移命令吗?我知道我会做类似的事情rake db:migrate生成命令后,帆中的程序是什么?

ao

这不是错误,只是告诉您没有指定默认的迁移策略。

刚开 config/models.js

在此处输入图片说明

并取消注释上面所说的迁移行。

就像“弹出窗口”告诉您的信息一样,您可以选择

  • 安全
  • 改变
  • 下降

Drop将删除您的所有表并重新创建它们,这对一个新项目很有用,并且您想一直播种新的虚拟数据。

Alter会尝试保留您的数据,但是如果您在模型中这样做,则会对表进行更改。如果Sails无法保留数据,则将其删除。

顾名思义,安全是最安全的。它将对您的表无济于事。

如果要对不同的表采取不同的操作,则可以直接在模型中指定相同的选项,这些选项将仅覆盖该模型的默认设置。

因此,假设您有一个User模型并希望保留该数据,但每次都希望重新创建所有其他模型sails lift,则应添加

migrate: 'safe'

直接添加到模型中,并drop用作默认策略。

alter个人喜欢,但这可能会引起人们的兴趣。

您不需要做其他任何事情。如果存在模型,并且将迁移设置为dropalter,则将在sails lift运行时进行迁移

您可以在此处阅读有关模型设置的更多信息

作为旁注,您可以通过设置

log: 'verbose'

在您的config / env / development.js文件中:

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用并发在Python中迁移数据库?

如何在PostgreSQL中迁移数据库之前将所有序列重置为1?

如何在不登录数据库的情况下从MySQL迁移数据?

如何在服务器生产中更新迁移数据库实体框架

向南迁移数据库:如何处理添加的字段

如何解决Asp.Net 3.0迁移数据库问题?

当使用模式数据库时,sails.js如何处理数据库迁移?

Sails.js:如何在mysql数据库中插入值

如何在Sails JS水线数据库关系中设置主键

如何在Sails.js中定义两个MySQL数据库连接

如何在Sails.js中动态连接到数据库

如何在无迁移系统中处理数据库?

如何在不同的数据库中迁移?

Sails.js如何在不保存数据库的情况下管理数据

如何在Azure中的新数据库上运行数据库迁移?

Sails js:如何在Sails js的单个模型中定义到两个不同数据库的两个MySQL连接?

如何通过 postgres 中的 rake 任务批量迁移数据?

在SilverStripe中重组数据库时迁移数据

如何在sails中实现MVC模式?

如何生成迁移以更改Rails中的数据库列

如何迁移:刷新数据库中的特定表?

如何在Cassandra中的两个表之间正确迁移数据

加密迁移数据库

我如何在使用Adonis的迁移中更改列类型而不丢失数据库数据?

如何在gitlab中从内部Postgres数据库迁移到外部Postgres数据库

如何在Spring Security和默认数据库H2中使用Grails数据库迁移?

如何在Asp.NET ZERO / Boilerplate中迁移租户数据库和主机数据库?

Django / Python:如何遍历字典中的列表以进行迁移/迁移数据

如何在Couchbase服务器之间迁移数据?