Files
SecondBrain/90 Library/Programming/Ruby On Rails/Rails 8 Migration Guide.md
T
2026-06-01 11:05:16 +03:00

60 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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]]