2011-04-11 122 views
0

我目前做我的方式通過Ruby on Rails的在http://ruby.railstutorial.org/教程了,我試圖給demo_app數據庫遷移到Heroku的。heroku rake db:migrate rake aborted!無法打開數據庫

heroku rake db:migrate 
    rake aborted! 
    unable to open database file 

我已閱讀上的其他計算器的帖子,有些人通過在Gemfile中進入

group :production, :staging do 
    gem "pg" 
end 

group :development, :test do 
    gem "sqlite3-ruby", "~> 1.3.0", :require => "sqlite3" 
end 

固定這一點。我也將它輸入到我的gemfile中,然後刪除我的舊gemfile.lock,並重新安裝我的捆綁軟件包和rake db:migrate命令。我仍然收到同樣的錯誤。

我明明全新的紅寶石,導軌和Heroku的,但據我所知,這個問題似乎是,我使用的SQLite本地和PostgreSQL生產(在Heroku)。我現在必須將這個postgresql安裝到我的機器上,然後重新遷移數據庫嗎?如果我不能使用heroku,我恐怕無法從教程中獲得更多的信息(或者本身就是ruby)。

+0

你試過運行:'Heroku的耙分貝:遷移--trace',看看是否有任何更多的線索與問候的錯誤? – Pete 2011-04-11 23:26:52

回答

2

殺了它!

我有同樣的問題,並沒有發現任何解決方案。我認爲我們在這些教程中做的事情正在引導我們破壞heroku生成的database.yml文件。

我最終毀了我的Heroku應用

heroku destroy 

,然後創建一個新的,推動一個新的副本,並運行

heroku create 
git push heroku master 
heroku rakedb:migrate 

這個時候一切正常!只要確保你有PG寶石在你的Gemfile生產

group :production do 
    gem "pg" 
end 

,並添加配置/ database.yml,以你的.gitignore文件太多的好辦法。

0

,或者如果它的工作確定本地做了Heroku的DB:推到神奇地把你的本地SQLite數據庫到Heroku的PostgreSQL的分貝。

我總是以相同的DB平臺上工作的地方,這樣我就不會遇到任何差異(通常只有當你開始做DB特定的SQL),所以我在本地運行PostgreSQL了。

+0

我已經搜索了一段時間,無法弄清楚如何使用Postgre作爲我的本地/本地SQL。我會怎麼做呢? – 2011-04-12 12:02:28

+0

在Mac上,你可以MacPorts或HomeBrew,然後安裝Postgres。上次我看着Homebrew安裝了PostGresql9,但如果你只是使用共享的Heroku Db,我認爲你想使用Postgres 8.3。 http://flux88.com/2010/06/installing-postgresql-for-rails-on-mac-os-x/是一個很好的開始。 – 2011-04-12 12:51:57

+0

我正在使用Windows。我已經安裝了postgres,但我想我需要在gemfile中定義它,我找不到如何做到這一點。 – 2011-04-12 15:02:35

0

有同樣的問題...與Heroku的接口...跑: Heroku的耙分貝:遷移--trace

,發現問題要與攤販,不被發現......由於「騙子'在我們的Gemfile中加載到開發組中,我也將它加載到生產組中。 保存Gemfile 捆綁安裝 git add。 git的承諾-m「固定攤販」 混帳推 混帳的Heroku推 Heroku的耙分貝:遷移 Heroku的耙分貝:填充

現在一切正常......的問題,現在是什麼就做100個用戶我的生產網站? 至少我可以繼續哈特爾的教程!

相關問題