我们在表influencers
上有一个索引,称为ind_unique_id
。这是迁移文件中的语句:
CREATE UNIQUE INDEX ind_unique_id ON influencers(((ind->>'id')::TEXT));
我可以看到索引在pgadmin中查找。但是,如果我通过Rails方法进行检查index_exists?
返回false
:
Influencer.connection.index_exists?(:influencers, name: "ind_unique_id")
我还尝试将其作为符号传递:
Influencer.connection.index_exists?(:influencers, :ind_unique_id)
他们都没有返回true。我做错了什么?
您检查所需的列,而不是索引本身的名称。像这样
Influencer.connection.index_exists?(:influencers, :some_column_name)
您也可以检查多列
Influencer.connection.index_exists?(:influencers, [:some_column_name, :some_other_column_name])
但是还有另一种方法可以执行您尝试做的名为index_name_exists?
Influencer.connection.index_name_exists?(:influencers, :ind_unique_id)
index_exists的文档?
index_name_exists的文档?