红宝石轨道更新模型通过轨道控制台

问题描述:

我有运行rails g模型任务描述:文本。然后,我运行rails控制台并执行一些任务。现在我想向create_tasks.rb文件添加更多属性。如.string:title。红宝石轨道更新模型通过轨道控制台

我的尝试:

  1. 打开的文件(create_tasks.rb),把新线然后跑rake db:migrate然后又冲入控制台,打开了第一个任务 ,并没有显示出来。标题属性。
  2. 也尝试使用title属性创建新任务。 Error: unknown title attribute for Task

那么,如何更新模型?

+0

一般性评论 - 通常最好为每个db更改创建一个新的迁移,而不是更改现有的迁移。这样,项目中的每个开发人员都可以轻松运行新的迁移,而无需回滚,混乱等。 – Mirror318

您需要rails db:rollback在最新迁移之前将数据库回滚,将新变量添加到迁移文件,然后运行rails db:migrate以包含迁移文件的新部分。

如果您需要回滚更多的版本(如果你有,因为你创造了这个模式创造了更多的迁移),您可以包括的回滚像

rails db:rollback STEP=<enter number of steps> 
#e.g. rails db:rollback STEP=2 

,或者你也可以rails db:reset其数量将删除所有数据库,重新创建它们,然后重新安装它们。或者你可以删除数据库rails db:drop,然后rails db:createrails db:migrate迁移新的数据库。

不要编辑架构文件。当您运行迁移等来匹配迁移文件的内容时,模式文件会自动更新。

欢迎来到Rails!

在这里你可以找到有关如何处理迁移一些教程:

基本上,要修改迁移每一次,你必须:

  1. 运行rake db:rollback
  2. 修改迁移
  3. 运行rake db:migrate

我希望这有助于。良好的编码!