PostgreSQL Ruby Heroku Проблемы - PullRequest
       3

PostgreSQL Ruby Heroku Проблемы

1 голос
/ 12 июня 2011

Это условие поиска отлично работает в MySQL и SQLite, но не работает в PostgreSQL:

CONTROLLER:

@inventories = Inventory.search(params[:search], params[:page])

МОДЕЛЬ:

def self.search
paginate    :per_page => 10,
            :page => page, 
            :conditions => ['part_number = ? OR item LIKE ? OR catalognumber LIKE ?', "#{search}", "%#{search}%", "%#{search}%"],
            :order => 'item'
end

ЭТО выдает эту ошибку в журнале HEROKU PostgreSQL:

ActiveRecord::StatementInvalid (PGError: ERROR:  invalid input syntax for integer: ""
2011-06-11T20:25:46+00:00 app[web.1]: : SELECT * FROM "inventories" WHERE (part_number = E'' OR item LIKE E'' OR catalognumber LIKE E'')  ORDER BY item LIMIT 10 OFFSET 0):

Как я могу это исправить?

РЕШЕНИЕ ... Это проблема использования LIKE, а не ILIKE http://www.postgresql.org/docs/8.3/static/functions-matching.html

1 Ответ

1 голос
/ 12 июня 2011

Предположительно, одно из этих полей ожидает целое число, и Postgres намного менее разрешительный в этом отношении, чем MySQL.У меня не должно быть никаких кавычек.(Вместо этого он должен быть нулем или вообще без поля.)

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