Ruby не удаётся мигрировать БД

Рейтинг: 0Ответов: 1Опубликовано: 08.05.2023

У меня есть Redmine старой версии, установил новую (делаю обновление), БД от туда вытащил и судя по документации Redmine по обновлению, должен запустить эту команду:

bundle exec rake db:migrate RAILS_ENV=production 

Но в итоге получаю эту ошибку:

>bundle exec rake db:migrate RAILS_ENV=production
rake aborted!
LoadError: 126: ═х эрщфхэ єърчрээ√щ ьюфєы№.   
- M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/thin-1.8.0-x64-mingw32/lib/thin_parser.so
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/activesupport-6.1.4.7/lib/active_support/dependencies.rb:332:in `require'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/activesupport-6.1.4.7/lib/active_support/dependencies.rb:332:in `block in require'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/activesupport-6.1.4.7/lib/active_support/dependencies.rb:299:in `load_dependency'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/activesupport-6.1.4.7/lib/active_support/dependencies.rb:332:in `require'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/thin-1.8.0-x64-mingw32/lib/thin.rb:39:in `<top (required)>'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/config/application.rb:18:in `<top (required)>'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/Rakefile:5:in `require'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/Rakefile:5:in `<top (required)>'
M:/Bitnami/redmine-5.0.0-1/apps/redmine/htdocs/vendor/bundle/ruby/2.5.0/gems/rake- 13.0.6/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)

Ради эксперимента перед миграцией БД решил запустить команду в "пустую", стек проблемы выше. Всё развёрнуто на Windows Server последних версий. Версия Redmine 5.0.0-1

Ответы

▲ 0Принят

Ребят, скажу сразу, самый простой и ДОЛГИЙ способ... Просто обновлять БД постепенно вместе с версиями. Допустим с 3.0.0-1 до 3.5.0-1, далее с 3.5.0-1 до 4.0.0 и так далее, постоянно проверяя после обновления сайт, так как в таблицах БД могут попросту отсутствовать строки, для этого Вам потребуется всего-лишь дописать необходимые строки.

Не подходит? Не беда, Вы можете самостоятельно сделать "слияние двух БД". Нормальных способов не нашёл, скажу что сделать удалось Мне... Вообщем, ставите чистый Redmine любой версии и через любую подходящую для mysql оснастку откройте новую чистую последнюю БД и находите те строки что есть в старой БД, а затем их переносите из старой в новую, тем самым можете слиять БД без особых проблем. Есть и другие самомучения, но всё зависит от вашей фантазии...

А почему происходит ошибка сверху? Всё просто, несовместимость и куча костылей при работе подобными инструментами - обычное дело, так что приходится мириться и терпеть скрепя зубами, ведь не хочется переносить проектную систему из одной в другую...