繁体   English   中英

如何告诉heroku使用rails 3和ruby 1.9.2为新创建的应用程序?

[英]How to tell heroku to use rails 3 and ruby 1.9.2 for a newly created app?

我使用rvm ruby​​1.9.2p0和rails 3.0.1在我的机器上创建了一个新的应用程序,并执行了以下操作:

rails new -J -d mysql appname
git init
git add .
git commit
heroku create

并创建了应用程序。 但当我这样做时:

heroku rake db:create --trace

我明白了:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Couldn't create database for {"reconnect"=>false, "encoding"=>"utf8", "username"=>"root", "adapter"=>"mysql2", "database"=>"app_production", "pool"=>5, "password"=>nil, "socket"=>"/var/run/mysqld/mysqld.sock"}, charset: utf8, collation: utf8_unicode_ci
(in /app)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create

当我这样做:heroku rake db:migrate --trace,然后跟踪有如下行:

/app/.bundle/gems/ruby/1.8/gems/rake-0.8.7/lib/rake.rb:590:in

这表明它使用的是红宝石1.8而不是红宝石1.9.2

如何在我的heroku应用程序上创建数据库并使其使用ruby 1.9.2p0?

如果你已经在Heroku上创建了应用程序,它将默认为你发现的1.8.7。 您可以指定堆栈以在创建应用程序时创建应用程序;

heroku create myapp --stack bamboo-mri-1.9.2

要将您的应用迁移到1.9.2,您需要发布

heroku stack:migrate bamboo-mri-1.9.2

迁移后,您需要重新申请(如果我没记错的话)

问题不是Ruby或Rails版本。

这里的问题是你正在尝试使用MySQL,而Heroku只支持PostgreSQL

此页面中,您可以找到迁移到其他Heroku堆栈的说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM