如何将我的应用程序从SQLite3切换到PostgreSQL以在Heroku中运行?

时间:2014-06-13 02:50:55

标签: ruby postgresql heroku sqlite

我一直在阅读我正在尝试的这个问题,我尝试了所有可行的解决方案可以想到但我还是无法解决它。正如主题所说:我有一个使用SQLite3的ruby 1.9.3应用程序,但在生产环境(Heroku)应该使用PostgreSQL,我不能从一个切换到另一个。

所以,我需要知道我做错了什么:(

  • 这是我的config / database.rb文件中写的内容:

配置/ database.rb:

case Padrino.env
    when :development then DataMapper.setup(:default, "sqlite3://" + Padrino.root('db', "camilo_development.db"))
    when :test        then DataMapper.setup(:default, "sqlite3::memory:")
    when :travis        then DataMapper.setup(:default, "sqlite3::memory:")  
    when :staging       then DataMapper.setup(:default, ENV['DATABASE_URL'])
    when :production  then DataMapper.setup(:default, ENV['DATABASE_URL'])
end  
  • 这是用Gemfile编写的:gem 'pg', :group => 'production'

  • 当我执行Bundle install命令时,输出结果为:“您的捆绑包已完成!未安装组暂存和生产中的宝石。”

  • 如果您需要查看我忘记提及的特定内容,请随时查看我的存储库:https://github.com/prieser/camilo

非常感谢你们,问候, Prieser

1 个答案:

答案 0 :(得分:0)

在某些时候你必须完成

bundle install --without staging production 

并且bundle config会记住并且不会加载登台或生产宝石。您可以通过这种方式删除--without条件

bundle config --delete without

然后再次运行bundle install。

干杯 史蒂夫