我有一个表,其中的复合索引不是通过rails迁移创建的.现在,我需要创建一个rails迁移来
删除这个索引并创建一个新索引,但我不一定知道索引的
名称是什么.
我知道可以在迁移步骤中获取表名和列名列表.是否可以获取特定表上的索引名称列表?或者,从另一个角度来看,是否可以删除表上的所有索引?或者是编写我自己的特定于数据库的SQL查询来获取此信息的唯一选项?
您可以通过以下方式
获取表中所有索引的详细信息:
ActiveRecord::Base.connection.indexes('tablename')
这将返回一个ActiveRecord :: ConnectionAdapters :: IndexDefinition对象数组,每个对象都有一个#name和#columns方法.
原文链接:https://www.f2er.com/ruby/269175.html