2010-06-18 70 views
0

當我部署一個應用程序的Heroku,我運行遷移腳本,並得到該錯誤消息的Heroku拋出SQLITE3只讀例外

...ites\padrino\prophetmargin> heroku rake ar:migrate 
rake aborted! 
SQLite3::ReadOnlyException: attempt to write a readonly database: CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
/disk1/home/slugs/215264_925fd2c_65a3/mnt/.bundle/gems/gems/padrino-core-0.9.11/lib/padrino-core/cli/rake.rb:9:in `init' 

這怎麼可能?我也嘗試運行heroku dbpush sqlite://db/my-db.db,但也沒有工作。

回答

0

heroku不使用sqlite3,但使用postgres。我不知道爲什麼你會得到這個錯誤,雖然我在開發中使用sqlite3,當推向heroku時,他們會做一些魔法,然後移植到postgres。

我不完全確定Heroku是如何完成這個數據庫後端「交換」的,但它看起來並沒有發生,因爲它試圖寫出由於Heroku的只讀文件系統而顯然失敗的sqlite數據庫文件。

對不起,這不是一個很大的答案,你可能實際上已經知道這一切,但如果你是新的heroku,它可能會給你一些見解?

嗯...只是注意到...什麼是ar:migrate命令?我幾個月來一直沒有運行Heroku,但通常情況下,您需要一個heroku rake db:migrate