我有需要更改的迁移(创建方式返回),如下所示:
20130923000732_create_questions.rb
我需要改变
t.string to --> t.text
我怎样才能做到这一点?
我读到我可以创建一个新的迁移重命名列,但我不太明白。
我有需要更改的迁移(创建方式返回),如下所示:
20130923000732_create_questions.rb
我需要改变
t.string to --> t.text
我怎样才能做到这一点?
我读到我可以创建一个新的迁移重命名列,但我不太明白。
如果 20130923000732_create_questions.rb 迁移是您最后一次迁移,您可以使用以下命令回滚:
rake db:rollback
否则,您可以简单地使用 VERSION 降低您的特定迁移:
rake db:migrate:down VERSION=20130923000732
回滚迁移后,更改迁移文件并再次迁移。
您的应用程序正在开发中,只需在 edtor 中打开该迁移,将其更改为文本并再次运行所有迁移。或者编写一个将更新该字段类型的迁移。
首先在你的终端:
rails g migration change_column_type_in_questions
然后在您的迁移文件中:
class ChangeColumnTypeInQuestions < ActiveRecord::Migration
def change
change_column :questions, :body, :text
end
end
迁移将查找表格问题,并在不丢失数据的情况下更新列体类型。
运行rails generate migration change_string_to_text_in_questions
然后将创建一个新的迁移文件,其中
def change
end
方法,现在插入,change_column :table_name, :column_name, :type
现在您的迁移文件应该如下所示,
def change
change_column :table_name, :column_name,:type
end
在此之后,保存更改并运行db:migrate