--- title: "Rails 8 Migration Guide (finreport-analyzer)" status: seed type: guide tags: [programming, ruby-on-rails, rails-8, migration] created: 2026-05-31 updated: 2026-05-31 source: "Rails 8 Migration Guide (finreport-analyzer).md" --- # Rails 8 Migration Guide (finreport-analyzer) Дата: 31.05.2026 ## Основные изменения 1. **Rails 8 Upgrade**: - Обновлен `Gemfile` до `gem "rails", "~> 8.0.0"`. - Запущен `rails app:update`. - Добавлен `config/initializers/new_framework_defaults_8_0.rb`. 2. **Solid Queue (Замена Sidekiq)**: - Удален `sidekiq`, добавлен `solid_queue`. - Удален Redis (больше не требуется для фоновых задач). - Выполнены миграции: `bin/rails generate solid_queue:install && bin/rails db:migrate`. - Перенесены джобы: `app/sidekiq/` -> `app/jobs/`. - Обновлен `ActiveJob` адаптер на `:solid_queue`. 3. **Solid Cable (Замена Redis для Action Cable)**: - Добавлен `solid_cable`. - Выполнены миграции для таблиц Solid Cable. 4. **Propshaft (Замена Sprockets)**: - Удален `sprockets-rails`, добавлен `propshaft`. - Удалены `app/assets/config/manifest.js` и `config/initializers/assets.rb`. - Assets теперь управляются проще, без лишних манифестов. 5. **Deployment (Capistrano + Supervisor)**: - Обновлены конфиги Capistrano для работы с Rails 8. - Переход с `capistrano-rvm` на `capistrano-rbenv` (согласно текущему сетапу сервера). - Добавлены systemd-шаблоны в `config/systemd/` для Puma и Solid Queue. - На сервере процессы управляются через **Supervisor**. ## Команды для проверки ```bash bundle exec rails db:migrate bundle exec rails assets:precompile bundle exec rails jobs:start # для локального запуска Solid Queue ``` ## Нюансы - `connection_pool` зафиксирован на `< 3.0` для совместимости с Ruby 3.3.0. - `puma-daemon` удален, так как современные Rails/Puma лучше работают под управлением супервизоров (systemd/supervisor). ## Связи - [[Ruby On Rails - MOC]] - [[Sidekiq - основа работы]] - [[Deploy - finreport-analyzer]]