gpt4 book ai didi

ruby - Rails 4 用索引重命名列

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:17 25 4
gpt4 key购买 nike

根据 this ,在 Rails 4 中,重命名列也会重命名索引。

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 (ruby 2.3.3)

最佳答案

可能索引的名称不是数据库生成的,它是我们在创建索引时给出的,在这种情况下,索引的名称不会得到任何更新,但肯定会更新引用,这将以相同的方式工作。

如果您想更新索引名称,您可以删除索引并重新创建它。

DROP INDEX index_feature_roles_on_feature_id; 

在更新的列上重新创建索引作为

CREATE INDEX index_feature_roles_on_test_id ON feature_roles;

如果从长远来看,其他几个开发人员可能正在从事同一件事,这将消除混淆,这可能会有所帮助。

关于ruby - Rails 4 用索引重命名列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48925738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com