2011-04-12 95 views
3

我使用RVM ruby​​1.9.2p0和Rails 3.0.1創建我的機器上一個新的應用程序,並做了以下內容:如何告訴heroku使用rails 3和ruby 1.9.2創建新應用程序?

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的耙分貝:遷移--trace,則跟蹤具有類似線:

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

它顯示它使用紅寶石1.8而不是紅寶石1.9.2

如何在我的heroku應用程序上創建數據庫並使其使用紅寶石1.9.2p0?

回答

7

如果您已經在Heroku上創建了該應用程序,它將默認爲1.8.7,正如您找到的那樣。您可以指定堆棧以在創建應用程序時創建應用程序;

heroku create myapp --stack bamboo-mri-1.9.2 

將您的應用遷移到1.9.2,您將需要發出

heroku stack:migrate bamboo-mri-1.9.2 

一旦遷移,您需要repush您的應用程序(如果我沒記錯的話)

1

問題不Ruby或Rails版本。

這裏的問題是您正在嘗試使用MySQL,而Heroku only supports PostgreSQL

this page中,您可以找到要遷移到其他Heroku堆棧的說明。

+0

這裏有什麼有趣的是,Heroku沒有重寫database.yml文件來使用他們的共享Postgres實例。 – 2011-04-12 08:26:37

+0

爲了完全正確,Heroku支持MySQL沒有任何問題 - 您可以使用Amazon RDS插件或連接到您自己的Heroku以外的MySQL實例 – 2011-04-12 08:27:36

+0

有趣的是,@John回答了作者問的問題,但@Simone給出了「真實「答案。那麼我應該選哪一個? – Dty 2011-04-12 08:28:12

相關問題