# Шаг «Проверка готовности SKIP\_DB\_AND\_REDIS» в GitHub Actions не выполняется

**URL:** https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152
**Category:** Development
**Created:** [31.Май.2026 11:10:59 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152 "2026-05-31T11:10:59Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [31.Май.2026 11:10:59 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/1 "2026-05-31T11:10:59Z")

</div>

У меня возникла проблема: недавно добавленный шаг «Проверка возможности загрузки SKIP\_DB\_AND\_REDIS» не удался для одного из моих плагинов.

> Загрузка с SKIP\_DB\_AND\_REDIS не удалась. Убедитесь, что во время процесса загрузки Rails нет обращений к базе данных.
> 
> Чтобы воспроизвести проблему локально, выполните `SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"`.

Я попробовал это сделать, но не смог воспроизвести проблему локально — всё прошло успешно.

Я мог бы использовать стек-трейс из неудачного шага действия GitHub, чтобы точно определить, какой код стал причиной проблемы.

> **Проблемный код**
>
> В одном из моих контроллеров я объявил константу, которая получала список атрибутов активной записи:
> 
> ```plaintext
> REWARD_FIELDS = Reward.attribute_names.excluding("id", "created_at", "updated_at")
> 
> ```
> 
> Как выяснилось, так делать не следует.

Но было бы удобнее, если бы я мог симулировать эту проверку локально, чтобы не пришлось прибегать к методу проб и ошибок через действия GitHub. Значит, должно быть что-то ещё, кроме выполнения:

`SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"`

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [08.Июнь.2026 15:09:17 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/3 "2026-06-08T15:09:17Z")

</div>

Интересно, спасибо за сообщение!

> [@elmuerte](#):
>
> список атрибутов активного объекта

Это довольно специфичная деталь, которую мы, вероятно, ранее не учитывали.

Попробуйте изменить эту строку на `false` в вашей локальной установке:

> <https://github.com/discourse/discourse/blob/63aee728a61167ee27946e0522e7b36de9b5f6af/config/environments/development.rb#L15-L16>

А затем снова выполните команду для воспроизведения проблемы?

Если это успешно воспроизведёт проблему, то стоит рассмотреть возможность добавления переменной окружения для управления настройкой `schema_cache_dump`.

---

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [09.Июнь.2026 18:06:42 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/6 "2026-06-09T18:06:42Z")

</div>

Это не имело эффекта. Не помогло и удаление файла `db/schema_cache.yml`.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [09.Июнь.2026 18:08:09 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/7 "2026-06-09T18:08:09Z")

</div>

Пожалуйста, попробуйте следующие два варианта:

Режим разработки с использованием другой переменной окружения для настройки базы данных:

```plaintext
SKIP_DB_AND_REDIS=1 DISCOURSE_DEV_DB='nonexistent' bin/rails runner "puts 'booted successfully'"

```

В режиме тестирования с загруженными плагинами:

```plaintext
LOAD_PLUGINS=1 RAILS_ENV=test SKIP_DB_AND_REDIS=1 RAILS_DB='nonexistent' bin/rails runner "puts 'booted successfully'"

```

---

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [09.Июнь.2026 20:18:07 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/8 "2026-06-09T20:18:07Z")

</div>

Нет, всё ещё успешно.

Чтобы проверить, что код плагина загружен, я использовал `“puts DiscourseKofi::Engine.to_s”`, и он вывел имя. Но когда я обратился к классу, который создаёт подключение к базе данных `“puts DiscourseKofi::Admin::AccountsController.to_s”`, в итоге произошла ошибка.

Похоже, что локально код плагина не загружается полностью, как это происходит в GitHub Action.

Полная команда, вызвавшая ошибку:

```plaintext
LOAD_PLUGINS=1 SKIP_DB_AND_REDIS=1 DISCOURSE_DEV_DB=nonexistent bin/rails runner "puts DiscourseKofi::Admin::AccountsController.to_s"

```

Без `LOAD_PLUGINS=1` или с использованием `RAILS_DB=nonexistent` ошибка не возникала.

---

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [09.Июнь.2026 20:26:54 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/9 "2026-06-09T20:26:54Z")

</div>

> [@elmuerte](#):
>
> Без `LOAD_PLUGINS=1` или с использованием `RAILS_DB=nonexistent` не произошло сбоя

Исправление: `LOAD_PLUGINS` не имел значения.

Таким образом, это приведёт к сбою:

```plaintext
SKIP_DB_AND_REDIS=1 DISCOURSE_DEV_DB=nonexistent bin/rails runner "puts DiscourseKofi::Admin::AccountsController.to_s"
-> сбой

```

А это — нет:

```plaintext
SKIP_DB_AND_REDIS=1 DISCOURSE_DEV_DB=nonexistent bin/rails runner "puts 'booted successfully'"
-> сбоев нет

```

То же самое с обращением к классу, который не обращается к базе данных:

```plaintext
SKIP_DB_AND_REDIS=1 DISCOURSE_DEV_DB=nonexistent bin/rails runner "puts DiscourseKofi::Admin::PaymentsController.to_s"
-> сбоев нет

```

---

<div class="post-metadata">

### Author: ![elmuerte](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/elmuerte/32/456517_2.png) [@elmuerte](https://meta.discourse.org/u/elmuerte)
#### Post date: [10.Июнь.2026 19:31:17 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/10 "2026-06-10T19:31:17Z")

</div>

Понял. Правильная команда для воспроизведения проблемы локально:

```plaintext
CI=true RAILS_ENV=test LOAD_PLUGINS=1 SKIP_DB_AND_REDIS=1 RAILS_DB=nonexistent bin/rails runner "puts 'booted successfully'"

```

Все эти переменные окружения важны. У меня не получилось запустить это в режиме `RAILS_ENV=development`. Без `CI=true` и `LOAD_PLUGINS=1` в режиме `test` похоже, что не все классы плагинов загружаются.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [12.Июнь.2026 19:32:04 UTC](https://meta.discourse.org/t/github-actions-failing-check-skip-db-and-redis-bootability-step/404152/11 "2026-06-12T19:32:04Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
