ruby-on-rails – 使用Rails迁移删除索引而不知道其名称

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用Rails迁移删除索引而不知道其名称前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表,其中的复合索引不是通过rails迁移创建的.现在,我需要创建一个rails迁移来删除这个索引并创建一个新索引,但我不一定知道索引的名称是什么.

我知道可以在迁移步骤中获取表名和列名列表.是否可以获取特定表上的索引名称列表?或者,从另一个角度来看,是否可以删除表上的所有索引?或者是编写我自己的特定于数据库SQL查询获取此信息的唯一选项?

解决方法

您可以通过以下方式获取表中所有索引的详细信息:
ActiveRecord::Base.connection.indexes('tablename')

这将返回一个ActiveRecord :: ConnectionAdapters :: IndexDefinition对象数组,每个对象都有一个#name和#columns方法.

原文链接:https://www.f2er.com/ruby/269175.html

猜你在找的Ruby相关文章