【发布时间】:2015-09-01 05:47:06
【问题描述】:
是否有任何 Rails 命令/方法可以列出 SQL 表的索引?
【问题讨论】:
标签: mysql ruby-on-rails-3
是否有任何 Rails 命令/方法可以列出 SQL 表的索引?
【问题讨论】:
标签: mysql ruby-on-rails-3
这适用于 MySQL、SQLite3 和 Postgres:
ActiveRecord::Base.connection.tables.each do |table|
puts ActiveRecord::Base.connection.indexes(table).inspect
end
已经在这里回复ActiveRecord finding existing table indexes
以下内容与 Show All Indexes in Your table - Oracle DB 一起使用,用于以特定表格方式查找已定义的索引。它对我有用。
ModelName.find_by_sql("SELECT index_name, table_name, uniqueness FROM USER_INDEXES WHERE table_name = 'YOUR_TABLE_NAME'")
你可以在 MYSQL 上试试这个。这个我没有测试过,你可以确认它是否有效。
ModelName.find_by_sql("SHOW INDEX FROM YOUR_TABLE_NAME")
【讨论】: