jeudi 22 octobre 2015

Mysql2 Error Lost connection to MySQL server during query

I am getting the following error when i am trying to use union.

App.rb

class App < ActiveRecord::Base

  acts_as_taggable
  attr_accessor: :user_name, :age, :country, tag_list
  scope :tagged_with, lambda { |tag|
    {
      :joins => "INNER JOIN taggings ON taggings.taggable_id = user.id\
               INNER JOIN tags ON tags.id = taggings.tag_id AND taggings.taggable_type = 'App'",
      :conditions => ["tags.name = ?", tag],
      :order => 'id ASC'
    }
  }
  def self.search(search)
    if search
      where('name LIKE ?', "%#{search}%") + tagged_with(search)
    else
      scoped
    end
  end

end

User Controller

class UserController < ActionController::Base
  def index
    @users = User.search(params[:search]).paginate(:per_page => per_page, :page => params[:page])
  end

database.yml

pipe_local_development: &pipe_local_development
  adapter: mysql2
  encoding: utf8
  reconnect: true
  database: app_development
  pool: 5
  username: root
  password:

I am able to run this method from console fast.

ActionView::Template::Error (Mysql2::Error: Lost connection to MySQL server during query: SELECT apps.* FROM apps WHERE verve_apps.status IN (1, 2) AND (apps.id IN (SELECT apps.id FROM apps WHERE apps.status IN (1, 2) AND (app_name LIKE '%b%') UNION SELECT apps.id FROM verve_apps INNER JOIN taggings ON taggings.taggable_id = apps.id INNER JOIN tags ON tags.id = taggings.tag_id AND taggings.taggable_type = 'App' WHERE apps.status IN (1, 2) AND (tags.name = 'b') ORDER BY id ASC)) ORDER BY app_name asc LIMIT 10 OFFSET 0)

Kindly help me to solve

Aucun commentaire:

Enregistrer un commentaire