2011-08-23 52 views
0

我试图在生产模式中放置一个rails 3.0应用程序。我在slicehost.com上托管它。我已经设置了红宝石1.8.7,更新了我的宝石,安装了rails 3.0,安装了mysql,安装乘客,并加载了一个空栏应用程序。我有我的XML文件连接到数据库。我甚至在我的apache2配置中添加了RailsEnv生产(尽管我被告知它默认为生产)。Rails 3.0生产模式错误

然后我cd到我的应用程序运行耙分贝:迁移RAILS_ENV =生产,并得到了以下错误:

找不到宝石“sqlite3的”

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

它告诉我做捆绑安装,但我只能猜测这将设置一个开发数据库。

此处有任何建议。

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

我喜欢在2.x中如何在环境文件中添加RAILS_ENV ='production'。

任何方式咆哮。

我很感激一些帮助。

谢谢

布赖恩

更新:

登录为:根 根@密码: 欢迎到Ubuntu 11.04(GNU/Linux的2.6.35.4-rscloud x86_64的)

  • 文档:https://help.ubuntu.com/ 您有邮件。 上次登陆:8月23日星期二14:15:09 2011 from 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中使用它,请使用0.2.x版本< = 3.0.x rake中止! !!!缺少mysql2宝石。它添加到您的Gemfile:宝石 'mysql2'

任务:TOP =>分贝:迁移 (参见全部跟踪运行与--trace任务) 根@:〜/的public_html /票务#

回答

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本身中取出。如果您需要使用mysql2与Rails版本< 3.1请确保在您的Gemfile中指定gem“mysql2”,“〜> 0.2.7”

+0

好吧,将您的代码添加到我的gem文件并运行rake db:migrate rails_env =生产和我得到了一个错误消息。你可以在我的文章的更新部分找到该消息。有任何想法吗? – Brian

+0

对不起,你们提到的软件包安装也是如此。 – Brian

+0

你可以试试'RAILS_ENV =生产捆绑包执行耙分贝:迁移' – dexter