-
Notifications
You must be signed in to change notification settings - Fork 24
UpgradingRails
Kosuke Tanabe edited this page Jan 17, 2015
·
31 revisions
アプリケーションを停止し、バックアップを取ります。バックアップを取らずにアップグレードを行わないでください。
$ cp -a your_enju_leaf your_enju_leaf_backup
Gemfile を編集します。
$ cd your_enju_leaf
$ vi Gemfile
- railsのバージョン指定を変更します。
#gem 'rails', '3.2.21' # 変更前
gem 'rails', '4.1.9' # 変更後
- 以下の行を削除します。
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', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'sdoc', group: :doc, require: false
gem 'spring', group: :development
gem 'protected_attributes'
gem 'non-stupid-digest-assets'
- 以下の行を変更します。
# gem 'jbuilder' # 変更前
gem 'jbuilder', '~> 1.2' # 変更後
bundle update を実行します。
$ bundle update
railsの設定ファイルの更新を行います。以下のコマンドを実行します。
$ rake rails:update
設定ファイルを上書きするかどうかを以下のようにたずねてきます。以下の例では、 config/boot.rb を上書きするかどうかをたずねてきています。
$ 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 # 変更後
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_ENV=production foreman start