Skip to content

Instantly share code, notes, and snippets.

@teeparham
Forked from tomafro/example output
Last active August 29, 2015 14:07
Show Gist options
  • Save teeparham/08cf83d698d1d27caab8 to your computer and use it in GitHub Desktop.
Save teeparham/08cf83d698d1d27caab8 to your computer and use it in GitHub Desktop.
Find ActiveRecord columns without indexes
attachments: parent_id, asset_id
domain_names: organisation_id
event_memberships: user_id, event_id
events: editor_id
group_actions: user_id, group_id
groups: user_id
icons: parent_id
invitations: sender_id
legacy_actions: item_upon_id
news_items: author_id
organisations: midas_id
pages: author_id
pending_event_memberships: invitation_id, event_id
resources: user_id, resourceable_id
subscriptions: subscribable_id, user_id
taggings: tag_id, taggable_id, user_id
cn = ActiveRecord::Base.connection
cn.tables.each do |t|
columns = cn.columns(t).collect(&:name).select {|x| x.ends_with?("_id" || x.ends_with("_type"))}
indexed_columns = cn.indexes(t).collect(&:columns).flatten.uniq
unindexed = columns - indexed_columns
puts "#{t}: #{unindexed.join(", ")}" if unindexed.any?
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment