Rails 3.0生产模式错误

时间:2011-08-23 16:05:51

标签: ruby-on-rails

我正在尝试将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)

  • 文档:https://help.ubuntu.com/ 你有邮件。 上次登录时间:2011年8月23日星期二14:15:09来自adsl-99-142-52-152.dsl.emhril.sbcglobal.net root @:〜#dir public_html rvm-installer来源 root @:〜#cd public_html root @:〜/ public_html #cd ticket root @:〜/ public_html / ticket#rake db:migrate RAILS_ENV = production 警告:此版本的mysql2(0.3.7)不再附带捆绑的ActiveRecord适配器,因为它现在是Rails 3.1的一部分 警告:如果您计划在Rails< = 3.0.x中使用它,请使用0.2.x版本 耙子流产了! !缺少mysql2 gem。将它添加到您的Gemfile:gem'mysql2'

任务:TOP => DB:迁移 (通过使用--trace运行任务查看完整跟踪) 根@:〜/的public_html /票务#

1 个答案:

答案 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”