导轨4重命名柱,用索引

问题描述 投票:2回答:2

this,在轨道4,5,重命名列也将重新命名指数。

class TestMigration < ActiveRecord::Migration
  def change
    binding.pry
    rename_column :feature_roles, :feature_id, :test_id
    binding.pry
  end
end

当我在迁移之前上市的该表的索引,特定索引的名称是index_feature_roles_on_feature_id甚至也迁移之后,仍然是相同的。为什么没有更新到index_feature_roles_on_test_id

我使用JRuby 9.1.12.0(红宝石2.3.3)

ruby ruby-on-rails-4 jruby database-migration ruby-on-rails-4.2
2个回答
0
投票

也许指数的名称不生成的数据库,它就是我们给,而在这种情况下创建索引的索引的名字不会得到任何更新,但绝对引用将被更新,这将同样的方式工作。

仍然要更新,你可以删除索引并重新创建索引名。

DROP INDEX index_feature_roles_on_feature_id; 

帖子说重新更新的列索引

CREATE INDEX index_feature_roles_on_test_id ON feature_roles;

这可能是有益的,如果在长期来看可能是在那里等几个开发人员可能将在其上删除的混乱一样的东西可正常工作的情况下。


0
投票

有一个在activerecord-jdbc-adapter宝石了潜在的错误。退房的GitHub issue了解详情。

© www.soinside.com 2019 - 2024. All rights reserved.