【问题标题】:Rails/ActiveRecord method to check an SQL(mysql to be specific) table indexRails/ActiveRecord 方法检查 SQL(具体为 mysql)表索引
【发布时间】:2015-09-01 05:47:06
【问题描述】:

是否有任何 Rails 命令/方法可以列出 SQL 表的索引?

【问题讨论】:

    标签: mysql ruby-on-rails-3


    【解决方案1】:

    这适用于 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")

    【讨论】:

      猜你喜欢
      • 2014-01-26
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2011-08-23
      • 2015-09-04
      • 2019-02-15
      • 1970-01-01
      相关资源
      最近更新 更多