Я застрял при попытке обновить старое приложение rails 4.0.13.
В настоящее время оно работает в стеке Heroku cedar-14, и я пытаюсь обновить его до стека heroku-18.Самая ранняя версия ruby, которую принимает Heroku-18, - 2.3.8, поэтому я начал там.Локально я изменил Gemfile на ruby 2.3.8 и запустил
$ bundle update --conservative
Я получил несколько предупреждений, но ничего не фатально.Когда я попытался запустить локальную базу данных postgresql, я получил:
The data directory was initialized by PostgreSQL version 9.5,
which is not compatible with this version 9.6.1
Я следовал замечательным инструкциям на Как обновить PostgreSQL 9.5.5 до 9.6.1 с помощью Homebrew (macOS). Ioannis Poulakas , что было очень полезно.Единственное изменение, которое я сделал, было в его строке 25:
Его оригинальная команда:
$ pg_upgrade -b /usr/local/Cellar/postgresql95/9.5.5/bin -B /usr/local/Cellar/postgresql/9.6.1/bin -d /usr/local/var/postgres95 -D /usr/local/var/postgres
Я немного изменил это для файлов home-brew, созданных на моем локальном mac, так:
$ pg_upgrade -b /usr/local/Cellar/postgresql@9.5/9.5.14/bin -B /usr/local/Cellar/postgresql/9.6.1/bin -d /usr/local/var/postgresql@9.5 -D /usr/local/var/postgres
Проверка целостности и обновление работали, но когда я снова запустил базу данных с:
$ pg_ctl start -D /usr/local/var/postgres
Я получил FATAL: database "[myapp]_development" does not exist
У кого-нибудь есть какие-нибудь мысли?Я не хочу делать что-то вроде $ rake:db:create
из-за страха, что это сотрет данные, которые я только что скопировал.