我想在heroku上使用sqlite3但pg用于生产。但是,我没有在本地主机上安装postgres,所以当我运行下面的代码时,bundle install不起作用
我知道我可以添加到下面的代码中,以便rails在运行bundle install
时不会尝试安装它,但我不知道那是什么。有人能告诉我吗?
#gem 'sqlite3'
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
答案 0 :(得分:2)
默认情况下,bundler会安装所有已定义的组。您必须明确告诉它您不想要哪些组。在这种情况下,它可能是
bundle install --without production
Bundler将记住您在.bundle/config
中选择的群组。因此,您不应该将该目录的内容检查到源代码管理中。
但是你应该注意到SQLite和Postgres的SQL方言有很多不同。因此,除非你只做一些琐碎的事情,否则你也应该对Postgres进行测试。处理日期,数字和各种字符串类型与Postgres的差异通常更为严格。 SQLite将大多数数据类型映射到无限长度的字符串。 Postgres使用强制执行的固定数据类型。