从sqlite3更改为PG

时间:2015-11-06 07:45:50

标签: ruby-on-rails postgresql

我是在sqlite3中写的:

@countries = Product.group(:country)

如何使用Postgresql获得相同的结果?

3 个答案:

答案 0 :(得分:0)

即使底层数据库是Postgres,它也是一样的:

@countries = Product.group(:country)

因为,使用group方法的活动记录查询会生成以下SQL:

SELECT "products".* FROM "products" GROUP BY country

Postgres GROUP BY相同。

答案 1 :(得分:0)

group是一个ActiveRecord方法,它独立于您正在使用的数据库。

要使用Postgresql,您必须在config/database.yml

中添加以下内容
Production:
  adapter: postgresql
  encoding: unicode
  username: your_username
  password: your_password
  database: your_production_database
  host: your_host
  pool: 5
  timeout: 5000

当然,你必须创建数据库

答案 2 :(得分:0)

我想,你必须通过国家的外键找到。

@countries = Product.group(:country_id)

它将显示国家。