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

标签 mysql ruby-on-rails ruby ruby-on-rails-3 heroku

我使用 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

这表明它使用的是 ruby​​ 1.8 而不是 ruby​​ 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

迁移后您将需要重新推送您的应用程序(如果我没记错的话)

关于mysql - 如何告诉 heroku 为新创建的应用程序使用 rails 3 和 ruby​​ 1.9.2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5631927/

相关文章:

python - 错误 : 'str' object has no attribute 'to_sql'

c# - 使用 SQL 在两个表单之间传递数据

ruby-on-rails - 更新与 Rails 的多对多关系

ruby-on-rails - 有没有Rails 方法来获取ActiveRecord::Relation 的所有关联对象?

php - 插入语句推过列并丢失数据

mysql - Navicat 用户 - 有什么方法可以在新查询的顶部创建变量并在页面上进行处理吗?

ruby-on-rails - Gem 将图像裁剪为 rails 中的多种尺寸

ruby-on-rails - 正确了解 Rails 框架的最佳方式是什么?

ruby - 使用范围迭代数组

ruby-on-rails - Bundler 找不到 gem "rack": 的兼容版本