2011-05-31 378 views
0

每當我運行命令rvmsudo rake db:migrate(我需要使用rvmsudo因爲我使用的是rvm),生成的sqlite3文件由root擁有。Ruby On Rails數據庫

ls -l db/*.sqlite3

正因爲如此,我不斷獲取每當我試圖做任何事情到數據庫的SQLite3的只讀錯誤,我必須手動輸入命令:

sudo chown -R myusername db/*.sqlite3

rvmsudo rake db:migrate從來沒有這樣做過,我想知道爲什麼現在正在發生。

+0

爲什麼你需要使用sudo? – ErsatzRyan 2011-05-31 21:41:57

+0

如果我沒有,我會得到拒絕的權限 – LanguagesNamedAfterCofee 2011-05-31 21:45:43

+0

我想通了什麼是錯的。 我從一開始就使用'rvmsudo db:migrate',它將sqlite3文件的用戶設置爲root用戶。我現在使用'rake db:migrate'(沒有rvmsudo),它以我的用戶身份生成sqlite3文件。 – LanguagesNamedAfterCofee 2011-05-31 23:13:00

回答

2

您是否以root用戶身份安裝了RVM,如果是這樣,是否有沒有將其作爲普通(權限較低)用戶安裝的原因?我每天在很多機器上使用RVM,並且不必以root身份安裝RVM。