База данных Ruby On Rails

#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.