Запуск виртуальной машины
rm -rf tmp log/* && vagrant reload
Запуск Rails
rm -rf tmp log/* && vagrant ssh -c "bundle exec rails s -b 0.0.0.0"
Обновление гемов и БД
bundle install && bundle exec rake db:migrate
Убийство Rails
Узнаём идентификатор процесса сервера командой:
lsof -wni tcp:3000
Затем убиваем процесс:
kill -9 <идентификатор (PID)>
Запуск отладчика Ruby
vagrant ssh -c "rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -b 0.0.0.0"
Предварительно удалять кэш ( rm -rf tmp log/*
) не рекомендую: у меня тогда отладчик иногда падает с низкоуровневыми сбоями памяти (segfault). С готовым кэшем не падает.
Отладка скрипта обновления базы данных
vagrant ssh -c "rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rake db:migrate:redo VERSION=20150829040855"
Открытие туннеля к базе данных в среде Vagrant
vagrant ssh -- -L 15432:localhost:5432
Выполнение запроса SQL хозяйской среды (Windows) к базе данных в гостевой среде (Vagrant) при уже открытом туннеле
psql --port=15432 -c "UPDATE user_options SET include_tl0_in_digests = TRUE;"
Запуск sidekiq
vagrant ssh -c 'bundle exec sidekiq'
Остановка sidekiq
ps -ef | grep sidekiq | grep -v grep | awk '{print $2}' | xargs kill -9
Запуск mailcatcher
vagrant ssh -c 'cd ~ && mailcatcher --http-ip=0.0.0.0'
письма смотреть здесь: http://localhost:4080/
Выполнение регулярной работы вручную в консоли
echo 'Jobs::PeriodicalUpdates.new.execute({})' | bundle exec rails c