Ошибка SQL на Heroku с Rails после развертывания - PullRequest
0 голосов
/ 07 декабря 2011

My Rails App отлично работает локально и на моем собственном корне linux (с sqlite для его тестирования)

После загрузки его на heroku у меня небольшая проблема.

Половина моих запросовбольше не работает.

Все запросы с условием ".where ()" сбиты.

Вот небольшой фрагмент кода из моего контроллера:

def GameModeB
  ActiveRecord::Base.include_root_in_json = false
  @highscore = Highscore.where("gamemode = \"b\"").order("points DESC").limit(100)

  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @highscore }
    format.json  { render :json =>  @highscore}
  end
end

Это мой журнал ошибок из журнала heroku

2011-12-07T12:21:08+00:00 app[web.1]: LINE 1: ...highscores".* FROM "highscores" WHERE (gamemode = "b") ORDER...
2011-12-07T12:21:08+00:00 app[web.1]:                                                              ^
2011-12-07T12:21:08+00:00 app[web.1]: : SELECT  "highscores".* FROM "highscores" WHERE (gamemode = "b") ORDER BY points DESC LIMIT 100): 2

Проблема в где ("gamemode = \" b \ "" )

Итаккакое правильное утверждение и почему не работает, на героку такое было?ТНХ

1 Ответ

5 голосов
/ 07 декабря 2011

Postgres допускает только одинарные кавычки для строковых литералов. См. wiki о миграции с MySQL на Postgres. Хорошо также для sqlite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...