2012-01-14 3 views
0

Я хочу использовать sqlite3, но pg для создания на heroku. Тем не менее, у меня нет postgres, установленных на локальном хосте, поэтому установка пакета не работает, когда я запускаю код нижеRails: Как остановить рельсы от попыток загрузить postgres

Я знаю, что есть что-то, что я могу добавить к приведенному ниже коду, чтобы рельсы не пытались установить это когда я запускаю bundle install, но я не знаю, что это такое. Может ли кто-нибудь сказать мне?

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

ответ

2

По умолчанию сборщик устанавливает все определенные группы. Вы должны четко указать, какие группы вы не хотите. В этом случае, вероятно, будет

bundle install --without production 

Bundler будет помнить ваш выбор групп в .bundle/config. Следовательно, вы не должны проверять содержимое этого каталога в исходном элементе управления.

Однако вы должны отметить, что существуют различные различия в диалекте SQL SQLite и Postgres. Поэтому, если вы не делаете только тривиальные вещи, вам обязательно нужно протестировать и на Postgres. Такие вещи, как обработка дат, цифр и различных типов строк, отличаются от Postgres, как правило, намного более строгими. SQLite отображает большинство типов данных в строки бесконечной длины. Postgres использует фиксированные типы данных, которые применяются.

+0

почему - без разработки теста ... Я думал, что это будет - без производства, поскольку pg - это производственная база данных? – Leahcim

+0

@ Майкл: Вы, конечно, правы. Я только что исправил это. –