Запустить несколько командных строк в ruby - PullRequest
2 голосов
/ 05 августа 2020

Мне нужно запустить несколько команд Ruby внутри docker. Обычно я делаю из S SH:

docker exec -it containername bundle exec rails c

А затем выполняю мою команду. В этом случае:

SharedAccess.create(room_id: 56, user_id: 2)

Дело в том, что мне нужно запустить несколько команд с разными user_id.

SharedAccess.create(room_id: 56, user_id: 3)
SharedAccess.create(room_id: 56, user_id: 4)
SharedAccess.create(room_id: 56, user_id: 5)

То, что я обычно делал бы в оболочке, - это создание скрипта, вставляя все строки одна под другой, а затем просто запустите ее. Я хочу найти способ создать что-то вроде скрипта со всеми строками, а затем запустить его из rake (внутри docker).

1 Ответ

3 голосов
/ 05 августа 2020

создайте файл somefile.rake в каталоге lib / tasks:

namespace :migrate do
  desc "create some SharedAccess"
  task shared_access: :environment do
    SharedAccess.create(room_id: 56, user_id: 3)
    SharedAccess.create(room_id: 56, user_id: 4)
    SharedAccess.create(room_id: 56, user_id: 5)
  end
end

и теперь вы можете запустить docker exec containername bundle exec rake migrate:shared_access

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...