Ruby/Rails アップグレード記録 - Phase 3
概要
| 項目 | Before | After |
|---|---|---|
| Rails | 8.0.4 | 8.1.1 |
対応した問題
1. Gemfile の更新
対応:
```ruby
Before
gem 'rails', '~> 8.0.0'
After
gem 'rails', '~> 8.1.0'
```
その後 bundle update rails を実行。
2. to_time_preserves_timezone 設定の削除
警告:
DEPRECATION WARNING: `config.active_support.to_time_preserves_timezone` is deprecated and will be removed in Rails 8.2
原因: Rails 8.1で to_time がタイムゾーンを保持する挙動がデフォルトになった。そのため設定は不要になり、Rails 8.2で削除予定。
対応:
```ruby
Before (config/application.rb)
config.active_support.to_time_preserves_timezone = :zone
After
削除(Rails 8.1ではデフォルト動作)
---
## まとめ
### Rails 8.1 の主な変更点
| 変更 | 影響 |
|------|------|
| `to_time_preserves_timezone` がデフォルト化 | 設定を削除 |
### Rails 8.1 の特徴
- Rails 8.0からの移行は非常にスムーズ
- 破壊的変更はほとんどなし
- Rails 8.0で追加した互換性設定を削除するだけ
### 教訓
- **段階的アップグレードの効果** - 8.0で先に対応していたため8.1への移行がスムーズだった
- **非推奨設定の確認** - 新しいバージョンでデフォルト化された設定は削除する