DBの初期設定でSolrに依存する処理がある
boronology opened this issue · 1 comments
boronology commented
事象
README中のデータベースの初期設定において
docker-compose run --rm web bundle exec rake enju_leaf:setup
を実行すると失敗する。
ログ
RSolr::Error::ConnectionRefused: Connection refused - {:data=>"[{"id":"Shelf 1","type":["Shelf","ApplicationRecord","ActiveRecord::Base"],"class_name":"Shelf","shelf_name_s":"web","library_s":"web","position_i":"1","name_text":["web","web","ja: web","World Wide Web"]}]", :headers=>{"Content-Type"=>"application/json"}, :method=>:post, :params=>{:wt=>:json}, :query=>"wt=json", :path=>"update", :uri=>#<URI::HTTP http://solr:8983/solr/default/update?wt=json>}
Caused by:
Faraday::ConnectionFailed: Failed to open TCP connection to solr:8983 (getaddrinfo: Name does not resolve)
等となっており、Solrとの通信が必要だったことがわかる。
対応案
export DB_USER=enju_leaf DB_NAME=enju_leaf_production DB_PASS=admin # .env.production に合わせる
docker-compose up -d db \
&& sleep 10 \
&& docker-compose exec -u postgres db sh -c "echo create user ${DB_USER} with password \'${DB_PASS}\' createdb\; | psql -f -" \
&& docker-compose exec -u postgres db createdb -U ${DB_USER} ${DB_NAME}
docker-compose up -d solr # <- new
docker-compose run --rm web bundle exec rake db:migrate
docker-compose run --rm web bundle exec rake enju_leaf:setup
docker-compose run --rm web bundle exec rake enju_circulation:setup
docker-compose run --rm web bundle exec rake enju_subject:setup
docker-compose run --rm web bundle exec rake db:seed
orumin commented
解決しました