2011-05-31 267 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。