Невозможно определить, что происходит с миграцией файла sql-файла. пожалуйста, помогите:Ошибка при миграции - ошибка: у вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее
я запустить грабли БД: мигрировать
ошибка:
mysql2 :: Ошибка: У вас ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «)» в строке 1: UPDATE photos SET vote_count = 0, rating = 0 WHERE id NOT IN()/home/user/myapp/appmame/db /migrate/20131110162613_recalculate_photos_rating.rb:8:in `вверх»
class RecalculatePhotosRating < ActiveRecord::Migration
def up
if Vote.where("subject_type='Photo' and rating > 1").count > 0
ActiveRecord::Base.connection.execute "DELETE FROM votes WHERE subject_type='Photo' AND rating <= 5"
ActiveRecord::Base.connection.execute "UPDATE votes SET rating=1 WHERE subject_type='Photo'"
end
pids = Vote.where(subject_type: 'Photo').pluck(:subject_id).uniq
ActiveRecord::Base.connection.execute "UPDATE photos SET votes_count = 0, rating = 0 WHERE id NOT IN (#{pids.join(', ')})"
ActiveRecord::Base.connection.execute "UPDATE photos SET rating=(SELECT COUNT(*) FROM votes WHERE votes.subject_type='Photo' AND subject_id=photos.id) WHERE id IN (#{pids.join(', ')})"
ActiveRecord::Base.connection.execute "UPDATE photos SET votes_count=(SELECT COUNT(*) FROM votes WHERE votes.subject_type='Photo' AND subject_id=photos.id) WHERE id IN (#{pids.join(', ')})"
end
def down
end
end
Я вставленный если pids.empty? и снова та же ошибка. – dev85
извините, теперь работайте, спасибо – dev85