我正在尝试将rails 3.0应用程序置于生产模式。我在slicehost.com上托管它。我已经设置了ruby 1.8.7,更新了我的宝石,安装了rails 3.0,安装了mysql,安装了乘客,还有一个空白的rails app加载。我有我的yml文件连接到db。我甚至在我的apache2配置中添加了RailsEnv产品(即使我被告知它默认为生产)。
然后我转到我的应用程序运行rake db:migrate RAILS_ENV = production并收到以下错误:
无法找到gem'sqlite3'
现在,我很困惑因为我正在尝试在mysql中创建一个生产数据库,所以为什么它关心sqlite3。
它告诉我要进行捆绑安装,但我只能猜测这将设置一个开发数据库。
这里有任何建议。
我不知道他们在rails 3.0中做了什么,但这真的很烦人。
我喜欢在2.x中你只是在环境文件中添加RAILS_ENV ='production'。
任何方式都会咆哮。
我很感激一些帮助。
谢谢,
Brian
更新
登录为:root root @密码: 欢迎使用Ubuntu 11.04(GNU / Linux 2.6.35.4-rscloud x86_64)
任务:TOP => DB:迁移 (通过使用--trace运行任务查看完整跟踪) 根@:〜/的public_html /票务#
答案 0 :(得分:0)
您可以使用Gemfile中的组来解决此问题。
仅将sqlite添加到您的测试和开发组以及生产运行捆绑器
bundle install --without test development
示例Gemfile:
gem "mysql2", "~> 0.2.7
gem "passenger"
gem "sqlite3", :group => :development
来源:http://gembundler.com/groups.html
更新:从0.3.0开始,ActiveRecord 3.1 - ActiveRecord适配器已从mysql2 gem中拉出并进入ActiveRecord本身。如果你需要使用带有Rails版本的mysql2< 3.1确保并在Gemfile中指定gem“mysql2”,“〜> 0.2.7”