我有一个表定义如下:
def self.up
create_table "equipes", :primary_key => "equipe_id", :force => true do |t|
t.string "equipe_nom", :limit => 30, :null => false
t.string "equipe_nom_pseudo", :limit => 8, :null => false
t.string "equipe_manager", :limit => 40
t.string "equipe_telephone_1", :limit => 22
t.string "equipe_adresse_email", :limit => 50
t.string "equipe_responsable", :limit => 50
t.timestamps
end
我想将字段“equipe_nom”的限制从30更改为150。
最好的方法是什么?
我可以使用RAKE G MIGRATION .... ??
由于
答案 0 :(得分:2)
首先:不要将rake
命令与rails
命令混淆。 Rake
是一个命令,它将运行比make命令更先进的任务。 rails
是rails框架提供的命令,例如,创建应用程序,生成迁移等。只需键入{{1},您将获得所有rails
命令的列表及其效果在没有参数的终端中。 rails
会为您生成迁移。详细了解迁移in this rails guide。
除此之外,有两种方法可以解决您的问题:
rails g migration migrationname
,然后更改上面显示的迁移文件中的值,保存它,然后运行{{ 1}}再次。这将首先反转上次迁移(在这种情况下,删除表“equipes”),然后再次运行它并进行更改。rake db:rollback
创建一个新的迁移。查看它创建的文件。在rake db:migrate
内写道:rails g migration change_equipe_nom_to_limit_150
。保存文件,运行def up
如果您不确定哪种情况适用,请执行第二种情况。它会一直有效。