$ Customer.send(“今天”)。计数
SELECT COUNT(*) FROM "customers" WHERE (`customers`.created_at >
'2014-02-07 05:00:00.000000')
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error
at or near "."
LINE 1: ...LECT COUNT(*) FROM "customers" WHERE (`customers`.created_at > '2014-02-07 05:00:00.000000')
当我将我的MYSQL数据库转换为PG时,我得到此错误如何解决此问题。如果我在MySQL中确定了这个查询,那么它的工作正常,但在PG中会出错。
请帮帮我......!
提前致谢
答案 0 :(得分:2)
引用的反引号是MySQL-ism,标准SQL和PostgreSQL使用双引号来引用标识符。你有的地方:
where('`customers`.created_at > ?', something)
但是PostgreSQL希望看到:
where('"customers".created_at > ?', something)
但是,由于表名是小写而不是保留字,因此您可以删除引号并获取更易于阅读的内容,并且可以在两个数据库中使用:
where('customers.created_at > ?', something)
据推测,此更改需要在send
范围内进行。