-
Notifications
You must be signed in to change notification settings - Fork 24
UpgradingRails
enju_leaf-1.3系へのアップデートを参照してください。
アプリケーションを停止し、バックアップを取ります。バックアップを取らずにアップグレードを行わないでください。
$ cp -a your_enju_leaf your_enju_leaf_backup
Gemfile を編集します。
$ cd your_enju_leaf
$ vi Gemfile
- railsのバージョン指定を変更します。
#gem 'rails', '3.2.22' # 変更前
gem 'rails', '4.2.7' # 変更後
- 以下の行を削除します。
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
- 以下の行を追加します。
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'sdoc', '~> 0.4.0', group: :doc
group :development do
gem 'web-console', '~> 2.0'
gem 'spring'
end
gem 'protected_attributes'
gem 'non-stupid-digest-assets'
- 以下の行を変更します。
# gem 'jbuilder' # 変更前
gem 'jbuilder', '~> 2.0' # 変更後
bundle update を実行し、依存するライブラリを更新します。
$ bundle update
railsの設定ファイルの更新を行います。以下のコマンドを実行します。
$ bundle exec rake rails:update
設定ファイルを上書きするかどうかを以下のようにたずねてきます。以下の例では、 config/boot.rb を上書きするかどうかをたずねてきています。
$ bundle exec rake rails:update
conflict config/boot.rb
Overwrite /Users/yourname/your_enju_leaf/config/boot.rb? (enter "h" for help) [Ynaqdh]
以下のファイルでは "n" を、それ以外のファイルでは "y" を選択します。 操作を誤った場合、バックアップからファイルを書き戻し、再度同じコマンドを実行してください。
- config/routes.rb
- config/initializers/inflections.rb
以下のコマンドを実行します。
$ rails g friendly_id --skip-migration
config/initializers/friendly_id.rb を開き、以下の行を変更します。
# config.use :finders # 変更前
config.use :finders # 変更後
1.1.0.rc14以前をrails3系で新規インストールし、rails4系に変更して1.1.0.rc15以降にアップデートした場合は、以下の変更も必要となります(予約語のadminを削除する必要があります)。
config/initializers/friendly_id.rb:修正前
config.reserved_words = %w(new edit index session login logout users admin stylesheets assets javascripts images)
この部分のadminを削除します。
config/initializers/friendly_id.rb:修正後
config.reserved_words = %w(new edit index session login logout users stylesheets assets javascripts images)
config/application.rb を開き、以下の行をバックアップから追記します。
# config.time_zone = 'Central Time (US & Canada)' # 変更前
config.time_zone = 'Tokyo' # 変更後
# config.i18n.default_locale = :de # 変更前
config.i18n.default_locale = :ja # 変更後
config/environments/production.rb を開き、以下の行をバックアップから追記します。
Rails.application.configure do
config.action_mailer.default_url_options = {host: 'localhost:3000'} # この行を追加
# config.cache_store = :mem_cache_store # 変更前
config.cache_store = :dalli_store # 変更後
- WebサーバにApacheやnginxを使用しない場合、以下の行も変更します。なお、プロジェクトで配布している仮想マシンを使用している場合、変更する必要はありません。
# config.serve_static_assets = false # 変更前
config.serve_static_assets = true # 変更後
コンソールが開けるかどうかを確認します。
$ rails c production
コンソールを開いたら、以下のコマンドでフラグメントキャッシュを削除します。
> Rails.cache.clear
> exit
JavaScriptとCSSのキャッシュを再作成します。
$ bundle exec rake assets:precompile
アプリケーションが起動できるかどうかを確認します。
$ RAILS_ENV=production foreman start