Skip to content

Instantly share code, notes, and snippets.

@aukevs
Created October 18, 2011 06:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aukevs/1294720 to your computer and use it in GitHub Desktop.
Save aukevs/1294720 to your computer and use it in GitHub Desktop.
conditional sql statements based on current connection adapter
db = ActiveRecord::Base.connection.adapter_name
Rails.logger.debug db
case db
when "PostgreSQL"
result = self.joins("JOIN profiles on profiles.id = passions.profile_id").joins("JOIN taggings ON (passions.id = taggings.taggable_id AND taggings.taggable_type = 'Passion') JOIN tags ON (tags.id = taggings.tag_id) AND taggings.tagger_id IS NULL AND taggings.context = 'tags'").where(["passions.name ILIKE ? OR profiles.name ILIKE ? OR tags.name ILIKE ?", "%#{q[:search][:query]}%", "%#{q[:search][:query]}%", "%#{q[:search][:query]}%"]).all
else
result = self.joins("JOIN profiles on profiles.id = passions.profile_id").joins("JOIN taggings ON (passions.id = taggings.taggable_id AND taggings.taggable_type = 'Passion') JOIN tags ON (tags.id = taggings.tag_id) AND taggings.tagger_id IS NULL AND taggings.context = 'tags'").where(["passions.name LIKE ? OR profiles.name LIKE ? OR tags.name LIKE ?", "%#{q[:search][:query]}%", "%#{q[:search][:query]}%", "%#{q[:search][:query]}%"]).all
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment