2013-03-12 51 views
3

我不會問這個問題,如果我的特殊情況已經在這個論壇上得到了回覆,請原諒我的重複提問。Rails:使用development.sqlite3數據填充Heroku數據庫

我有一個rails應用程序,它使用sqlite3數據庫進行開發,它已經包含我需要的應用程序的所有數據。在將此應用推送到heroku時,我無法在那裏查看應用,直到我不得不運行heroku運行rake db:migrate。現在我可以查看該應用了,但我無法使用管理員帳戶登錄或執行任何其他需要數據庫數據的事情。我已經做了所有需要的(我認爲),如下圖所示我的寶石文件:

source 'https://rubygems.org' 

gem 'rails', '3.2.12' 
gem 'bcrypt-ruby' 
gem 'kaminari' 
gem 'gon' 
. 
. 
. 
gem 'jquery-rails', '2.0.2' 

group :development, :test do 
    gem 'sqlite3', '1.3.7' 
end 

group :production do 
    gem 'pg', '0.12.2' 
end 
. 
. 

我也試過Heroku的DB:推但這並沒有幫助。主要問題是我正在與其他人一起開發這個應用程序,並且我們使用github進行版本控制。但是每當我們獲得更新時,我們的sqlite數據庫似乎總是自行清空。因此,爲了解決這個問題,我們通常必須將更新後的數據庫直接發送給其他人,然後他們繼續使用它並替換他本地回購中的空白。我懷疑爲什麼heroku rakedb:遷移是這樣的。

但是,隨着我們在我們的發展中走過這麼遠,我們實在無法重新開始。有沒有辦法讓我們的本地repo數據庫的內容填充遠程heroku數據庫?感謝您的回覆

+1

http://stackoverflow.com/questions/9847942/how-to-populate-production-database-heroku-with-development-data-rails – Zippie 2013-03-12 20:30:54

+0

' heroku db:push',如果這不起作用,那就是你需要修復的,這是最簡單的方法。 – Leito 2013-03-12 20:56:47

+0

嗨Zippie,我忘了補充一點,我也試過heroku db:push。它也沒有工作。我要修復它嗎? – muyiwamat 2013-03-12 21:16:45

回答

4

您應該將您的數據從sqlite導出到sql轉儲文件並開始在本地使用postgres。如果你繼續在本地使用sqlite並且遠程postgres,你將會有一段糟糕的時間。

您在本地遷移後,請按照Importing and Exporting Heroku Postgres Databases with PG Backups.

而且本指南,不要使用db:pushdb:pull;他們已被棄用。

更新

要獲得在本地的Postgres的SQL文件,先安裝和設置的Postgres(家釀,MacPorts的,其他 ...)然後做一些事情,像這樣:

$ psql -U user -d database < file.sql 

從那裏,您可以使用pg_dump實用程序導出到.dump文件。您也可以導入SQL直接的Heroku Postgres的:

# this will delete ALL data in your postgres, so make sure it's what you want 
$ heroku pg:reset HEROKU_POSTGRESQL_COLOR --app app_name 
$ heroku pg:psql HEROKU_POSTGRESQL_COLOR --app app_name < file.sql 
+0

嗨,感謝您的回覆。所以現在我有一個從sqlite3數據庫導出的.sql文件,但我不知道該如何處理它。你提供的鏈接似乎假設我從開始使用Postgres。 – muyiwamat 2013-03-12 22:30:52

+0

檢查我的其他答案在這裏:http://stackoverflow.com/questions/15237366/how-to-execute-a-sql-script-on-heroku/15237594#15237594和Heroku DevCenter本指南:https:// devcenter .heroku.com/articles/heroku-postgres-import-export。那些幫助將數據導入Heroku Postgres。 – catsby 2013-03-13 14:53:36

+0

感謝您的信息 – muyiwamat 2013-03-13 20:30:37