2015-03-31 64 views
0

我目前正在做Michael Hartl的Ruby on Rails教程。一路上我一直在搞亂我的數據庫。在我的數據庫文件中,只有一個用戶,名字是Bob。本地sql數據庫與heroku postgres數據庫文件不同,如何再次同步? Ruby on Rails

本地在cloud9 IDE中,當我做'rails console'然後做Users.first時,我得到一個名爲「Bob」的用戶。

但是,當我做'heroku導軌運行控制檯'並執行Users.first,我得到一個不同名稱的用戶。 (我可能在一路上改了名字)

如何讓Heroku再次看到正確的本地數據庫文件?我應該清除heroku數據庫,然後使用pg:pull將本地sql數據庫拖到heroku上?

回答

0

不知道,如果你已經得到了當前書的第9章尚但section 9.3.2處理創建示例用戶。這是通過db/seeds.rb文件完成的。

運行$ bundle exec rake db:reset然後重置您的數據庫,然後$ bundle exec rake db:seed填充您的新數據。

您可以與您的生產應用程序運行在相同的過程:

heroku pg:reset DATABASE 
heroku run rake db:migrate 
heroku run rake db:seed 

它,當然,也可以用工具如heroku-pg-transfer轉移當地和生產數據庫之間的數據,但是這好像有點高級你只是開始了,如果你只有一個用戶轉移,我覺得沒有必要。

希望這會有所幫助。

+0

謝謝,這幫了很大的忙!我所有的困惑來自我認爲部署我的應用程序也部署數據的事實。 – 2015-03-31 11:37:42

+0

沒問題基督徒。樂意效勞。 – quilligana 2015-04-01 11:55:07

0

您可以使用yaml_db gem將本地數據轉儲到文件,然後將其上傳到heroku。

在開發計算機上:

rake db:data:dump 

然後提交更改,推到Heroku的並運行:

heroku run rake db:data:load 
+0

謝謝。將報告結果。 – 2015-03-31 11:05:31

相關問題