Module: SchemaPlus::Indexes::Middleware::Schema::Sqlite3::Indexes
- Defined in:
- lib/schema_plus/indexes/middleware/schema.rb
Instance Method Summary collapse
Instance Method Details
#after(env) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/schema_plus/indexes/middleware/schema.rb', line 7 def after(env) indexes = Hash[env.index_definitions.map{ |d| [d.name, d] }] env.connection.exec_query("SELECT name, sql FROM sqlite_master WHERE type = 'index'").map do |row| if (desc_columns = row['sql'].scan(/['"`]?(\w+)['"`]? DESC\b/).flatten).any? index = indexes[row['name']] index.orders = Hash[index.columns.map {|column| [column, desc_columns.include?(column) ? :desc : :asc]}] end end end |