-
Notifications
You must be signed in to change notification settings - Fork 24
Update to 1.2
Kosuke Tanabe edited this page Aug 13, 2016
·
54 revisions
1.2系は現在開発中であり、以下の手順は変更されることがあります。 以下はenju_leaf-1.2.0.beta3時点での手順です。
- Enjuを停止します。以下は仮想マシンでの停止方法です。
$ sudo stop enju_leaf
- unzipコマンドがインストールされていない場合、インストールします。仮想マシンにはインストールされていないので、以下のコマンドでインストールします。これはsunspot_solrの動作に必要です。
$ sudo apt-get install unzip
- 以下のファイルを編集します。
Gemfile:
# rails 4.2以上を指定。 rails 5.0は未対応
gem 'rails', '~> 4.2.7'
# 以下の行を削除
# ほかにもenju_*を読み込んでいる行(gem 'enju_leaf'などで始まる行)をすべて削除
# gem 'enju_leaf', '~> 1.1.4'
# gem 'enju_flower', '~> 0.1.2'
# gem 'enju_ndl', '~> 0.1.0'
# gem 'enju_circulation', '~> 0.1.0'
# gem 'enju_subject', '~> 0.1.0'
# 以下の行を追加
gem 'enju_leaf', '~> 1.2.0.beta.2'
gem 'enju_manifestation_viewer', '~> 0.2.0.beta.2'
gem 'enju_circulation', '~> 0.2.0.beta.2'
gem 'enju_event', '~> 0.2.0.beta.2'
gem 'enju_subject', '~> 0.2.0.beta.1'
gem 'enju_ndl', '~> 0.2.0.beta.1'
gem 'redis-rails'
gem 'resque', require: 'resque/server'
# 以下の行を変更。変更前
#gem 'sunspot_solr, '2.2.0'
#gem 'exception_notification-rake'
# 変更後
gem 'sunspot_solr', '~> 2.2.5'
Rakefile:
require 'resque/tasks'
# 以下の行を削除
# require 'resque/scheduler/tasks'
app/models/user.rb:
class User < ActiveRecord::Base
devise :database_authenticatable, #:registerable,
:recoverable, :rememberable, :trackable, #, :validatable
:lockable, :lock_strategy => :none, :unlock_strategy => :none
# 以下の行を削除
#enju_leaf_user_model
#enju_circulation_user_model
#enju_message_user_model
# 以下の行を追加
include EnjuSeed::EnjuUser
include EnjuCirculation::EnjuUser
include EnjuMessage::EnjuUser
# 以下の行があれば変更
# enju_purchase_request_user_model # 変更前
include EnjuPurchaseRequest::EnjuUser # 変更後
# 以下の行があれば削除
# include EnjuLeaf::EnjuUser
end
# 以下の行を追加
Accept.include(EnjuCirculation::EnjuAccept)
Basket.include(EnjuCirculation::EnjuBasket)
CarrierType.include(EnjuCirculation::EnjuCarrierType)
Manifestation.include(EnjuCirculation::EnjuManifestation)
Item.include(EnjuCirculation::EnjuItem)
Profile.include(EnjuCirculation::EnjuProfile)
UserGroup.include(EnjuCirculation::EnjuUserGroup)
Withdraw.include(EnjuCirculation::EnjuWithdraw)
Item.include(EnjuLibrary::EnjuItem)
Manifestation.include(EnjuSubject::EnjuManifestation)
app/controllers/application_controller.rb:
# 以下の行を削除
# enju_leaf
# enju_biblio
# enju_library
# enju_circulation
# enju_event
# enju_subject
#
#mobylette_config do |config|
# config[:skip_xhr_requests] = false
# config[:skip_user_agents] = ENV['ENJU_SKIP_MOBILE_AGENTS'].to_s.split(',').map{|a|
# a.to_sym
#}
#end
# 以下の行を追加
include EnjuLibrary::Controller
include EnjuBiblio::Controller
include EnjuCirculation::Controller
include EnjuEvent::Controller
include EnjuSubject::Controller
include Pundit
before_action :set_paper_trail_whodunnit
after_action :verify_authorized, unless: :devise_controller?
# 以下の行があれば変更
# enju_purchase_request # 変更前
include EnjuPurchaseRequest::Controller # 変更後
# 以下の行があれば削除
# include EnjuLeaf::Controller
config/application.rb:
# 以下の1行を追加
config.active_job.queue_adapter = :resque
end
end
config/routes.rb:
devise_for :users, skip: [:registration]
# 以下の3行を追加
authenticate :user, lambda {|u| u.role.try(:name) == 'Administrator' } do
mount Resque::Server.new, at: "/resque", as: :resque
end
- Solrの設定ファイルをバックアップします。
$ mv solr solr_old
- 依存ライブラリとデータベース、キャッシュファイルを更新します。
$ bundle update
$ bundle exec rake railties:install:migrations
$ bundle exec rake db:migrate RAILS_ENV=production
$ bundle exec rake enju_library:upgrade RAILS_ENV=production
$ bundle exec rake enju_biblio:upgrade RAILS_ENV=production
$ bundle exec rake enju_event:upgrade RAILS_ENV=production
$ bundle exec rake enju_message:upgrade RAILS_ENV=production
$ bundle exec rake enju_circulation:upgrade RAILS_ENV=production
$ bundle exec rake assets:precompile
- Enjuを起動します。以下は仮想マシンでの起動方法です。
$ sudo start enju_leaf
- Solrのインデックスを再作成します。
$ bundle exec rake sunspot:reindex RAILS_ENV=production