Rails:如何阻止rails尝试加载postgres

时间:2012-01-14 21:27:48

标签: ruby-on-rails postgresql

我想在heroku上使用sqlite3但pg用于生产。但是,我没有在本地主机上安装postgres,所以当我运行下面的代码时,bundle install不起作用

我知道我可以添加到下面的代码中,以便rails在运行bundle install时不会尝试安装它,但我不知道那是什么。有人能告诉我吗?

#gem 'sqlite3'
group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end

1 个答案:

答案 0 :(得分:2)

默认情况下,bundler会安装所有已定义的组。您必须明确告诉它您不想要哪些组。在这种情况下,它可能是

bundle install --without production

Bundler将记住您在.bundle/config中选择的群组。因此,您不应该将该目录的内容检查到源代码管理中。

但是你应该注意到SQLite和Postgres的SQL方言有很多不同。因此,除非你只做一些琐碎的事情,否则你也应该对Postgres进行测试。处理日期,数字和各种字符串类型与Postgres的差异通常更为严格。 SQLite将大多数数据类型映射到无限长度的字符串。 Postgres使用强制执行的固定数据类型。