ActiveRecord :: ConcurrentMigrationError: с mysql2 и рельсами 5.2 - PullRequest
0 голосов
/ 06 мая 2018

После обновления до rails 5.2 с 4.2 любые броски миграции:

ActiveRecord :: ConcurrentMigrationError: Невозможно запустить миграцию, так как в настоящее время выполняется другой процесс миграции.

Адаптер базы данных mysql2

Сначала я думал, что это из-за устаревших данных в существующей производственной базе данных, которые я импортировал в среду разработки. Но та же проблема происходила с чисто созданной базой данных.

Чтобы преодолеть это (поскольку мне действительно нужно было добиться прогресса в решении некоторых других проблем), мне пришлось отключить контрольную проверку блокировки в реальном коде rails.

1 Ответ

0 голосов
/ 06 мая 2018

После многих часов попыток определить, где происходит «блокировка» и даже создания приложения rails с нуля, оказывается, что виновником была строка «cast: false» в файле database.yml. Как только это было закомментировано, мир был восстановлен в моей вселенной рельсов, и миграции снова начали работать.

развитие: адаптер: mysql2 база данных: дБ имя пользователя: пользователь пароль: passwd хост: localhost # cast: false

Ирония в том, что я даже не могу вспомнить, как этот «cast: false» оказался в коде два года назад. Я смутно помню, что я положил это там с целью. Тем не менее, все тесты работают нормально без него и пока никаких других симптомов в реальном поведении приложения тоже нет.

Я надеюсь, что это поможет кому-то, кто в какой-то момент обновится до 5.2.

...