Ruby on rails Rails 3.0生产模式错误

Ruby on rails Rails 3.0生产模式错误,ruby-on-rails,Ruby On Rails,我正在尝试将rails 3.0应用程序置于生产模式。我正在slicehost.com上托管它。我已经安装了ruby 1.8.7,更新了gems,安装了rails 3.0,安装了mysql,安装了passenger,然后加载了一个空白的rails应用程序。我有我的yml文件连接到数据库。我甚至在apache2配置中添加了RailsEnv生产(尽管我被告知它默认为生产) 然后,我将cd刻录到我的应用程序中,运行rake db:migrate RAILS_ENV=production并得到以下错误:

我正在尝试将rails 3.0应用程序置于生产模式。我正在slicehost.com上托管它。我已经安装了ruby 1.8.7,更新了gems,安装了rails 3.0,安装了mysql,安装了passenger,然后加载了一个空白的rails应用程序。我有我的yml文件连接到数据库。我甚至在apache2配置中添加了RailsEnv生产(尽管我被告知它默认为生产)

然后,我将cd刻录到我的应用程序中,运行rake db:migrate RAILS_ENV=production并得到以下错误:

找不到gem“sqlite3”

现在,我很困惑,因为我试图在mysql中创建一个生产数据库,那么为什么它关心sqlite3呢

它告诉我进行捆绑安装,但我只能猜测这将建立一个开发数据库

这里有什么建议吗

我不知道他们在rails 3.0中做了什么,但这真的很烦人

我喜欢在2.x中在环境文件中添加RAILS_ENV='production'的方式

任何方式都可以

我非常感谢你的帮助

谢谢,

布莱恩

更新:

登录身份:root root@password: 欢迎使用Ubuntu 11.04(GNU/Linux 2.6.35.4-rscloud x86_64)

  • 文件: 你有邮件。 最后一次登录:2011年8月23日星期二14:15:09,来自adsl-99-142-52-152.dsl.emhril.sbcglobal.net root@:~#dir 公共html rvm安装程序源代码 root@:~#cd public_html root@:~/public_html#cd票证 root@:~/public_html/ticket#rake db:migrate RAILS_ENV=production 警告:此版本的mysql2(0.3.7)不再捆绑ActiveRecord适配器,因为它现在是Rails 3.1的一部分 警告:如果您计划在Rails db:migrate中使用0.2.x版本,请使用它 (通过使用--trace运行任务查看完整跟踪)
    root@:~/public_html/ticket#

    您可以通过使用文件中的组来解决此问题

    仅将sqlite添加到您的测试和开发组,并在生产中运行bundler

    bundle install --without test development
    
    示例文件:

    gem "mysql2", "~> 0.2.7
    gem "passenger"
    
    gem "sqlite3", :group => :development
    
    资料来源:


    更新:从0.3.0和ActiveRecord 3.1开始-ActiveRecord适配器已从mysql2 gem中取出并插入ActiveRecord本身。如果您需要在Rails版本<3.1的情况下使用mysql2,请确保并在Gemfile中指定gem“mysql2”、“~>0.2.7”

    好的,将代码添加到我的gem文件中,然后运行rake db:migrate Rails_env=production,我收到一条错误消息。你可以在我文章的更新部分找到这条消息。有什么想法吗?对不起,捆绑包也像你提到的那样安装了吗。你能试试吗?
    RAILS\u ENV=production bundle exec rake db:migrate
    一直告诉我我缺少mysql2 Gemoop。。可以能否尝试将Gemfile条目更改为
    gem“mysql2”、“~>0.2.7”