#ruby-on-rails #ruby-on-rails-3 #sqlite3-ruby
#ruby-on-rails #ruby-on-rails-3 #sqlite3-ruby
Вопрос:
Всякий раз, когда я запускаю команду rvmsudo rake db:migrate
(мне нужно использовать rvmsudo
, потому что я использую rvm), генерируемые файлы sqlite3 принадлежат root.
ls -l db/*.sqlite3
Из-за этого я продолжаю получать ошибку SQLite3 только для чтения всякий раз, когда я пытаюсь что-либо сделать с базой данных, и мне приходится вручную вводить команду:
sudo chown -R myusername db/*.sqlite3
rvmsudo rake db:migrate
никогда раньше этого не делал, и мне интересно, почему это происходит сейчас.
Комментарии:
1. Если я этого не сделаю, мне будет отказано в разрешении
2. Я понял, что было не так. Я использовал
rvmsudo db:migrate
с самого начала, который установил пользователям файла sqlite3 root. Я используюrake db:migrate
сейчас (без rvmsudo), и она генерирует файлы sqlite3 от имени моего пользователя.
Ответ №1:
Устанавливали ли вы RVM от имени root, и если да, то есть ли причина, по которой он не был установлен от имени вашего обычного (менее привилегированного) пользователя? Я использую RVM ежедневно на нескольких компьютерах, и мне не приходилось устанавливать RVM от имени root.