Ruby on rails通过rails console更新模型

时间:2017-06-07 00:47:58

标签: ruby-on-rails database rails-console

我已经运行了rails g model任务描述:text。然后我运行了rails console并输入了一些任务。我现在想要为create_tasks.rb文件添加更多属性。如.string:title。

我尝试了什么:

  1. 打开文件(create_tasks.rb),将新行放入。然后运行rake db:migrate然后返回控制台并打开第一个任务 并且它不显示title属性。
  2. 还尝试使用title属性创建新任务。 Error: unknown title attribute for Task
  3. 那么,我该如何更新模型?

2 个答案:

答案 0 :(得分:1)

欢迎使用Rails!

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

基本上,每次要修改迁移时,您都必须:

  1. 运行rake db:rollback
  2. 修改迁移
  3. 运行rake db:migrate
  4. 我希望这会有所帮助。好编码!!

答案 1 :(得分:0)

您需要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迁移新数据库。

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