ruby on rails -如何在迁移中更改字段的大小



我有一个表定义如下:

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 ....??

谢谢

首先:不要混淆rake命令和rails命令。Rake命令将运行比make命令稍高级的任务。rails是由rails框架提供的命令,例如,创建应用程序,生成迁移等。通过在终端中不带参数地输入rails,您将获得所有rails命令及其效果的列表。rails g migration migrationname将为您生成一个迁移。在这个rails指南中阅读更多关于迁移的信息。

有了这些,有两种可能来解决你的问题:

  • 如果您之前已经运行过此迁移,并且这是您的最后一次迁移,那么您需要运行rake db:rollback,然后更改迁移文件中的值,保存它,然后再次运行rake db:migrate。这将首先逆转上一次的迁移(在本例中,删除表"equipes"),然后使用您的更改再次运行它。
  • 如果这是一个较旧的迁移,您可以通过执行rails g migration change_equipe_nom_to_limit_150创建一个新的迁移。看看它创建的文件。在def up中写入:change_column :equipes, :equipe_nom, :string, :limit => 150。保存文件,运行rake db:migrate

如果您不确定哪种情况适用,只需执行第二种情况。

相关内容

  • 没有找到相关文章

最新更新