Я обновляю свое приложение rails с Sqlite3 до Postgresql.Я использую Ansible для настройки моего сервера и Capistrano для развертывания.Мне удалось успешно запустить ansible, и теперь я пытаюсь развернуть свою ветку на существующем сервере, на котором установлен Sqlite3.
На шаге capistrano:
deploy:assets:precompile
Я получаюэта ошибка
$HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile
01 rake aborted!
01 Gem::LoadError: Specified 'sqlite3' for database adapter, but the gem is not loaded. Add `gem 'sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
но я не понимаю.У меня настроен Postgresql в моей ветке, которую я пытаюсь развернуть.
Вот файл базы данных yml.
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: {appname}_development
test:
<<: *default
database: {appname}_test
staging:
<<: *default
database: {appname}_staging
username: <%= Rails.application.secrets[:db_username] %>
password: <%= Rails.application.secrets[:db_password] %>
Очевидно, изменилось {appname} с именем моего реального приложения.Я не включил производственный ключ, потому что у этого приложения нет производственного веб-сайта только промежуточный сервер.Это больше игровая площадка, которую я использую для рельсов.
У кого-нибудь есть опыт решения этой проблемы?Я действительно не уверен, есть ли проблема с Capfile или я что-то упустил.Спасибо (и дайте мне знать, если вам нужно больше моего кода)
Стоит отметить, что это приложение все еще работает на Rails 5.1 (я собираюсь обновить его в следующем, я просто хотел сначала получить его на базе данных Postgres)
РЕДАКТИРОВАТЬ: ОК, я на что-то.я обнаружил, что этот шаг capistrano:
04 ln -s /var/www/{appname}/shared/config/database.yml /var/www/{appname}/releases/20190923224949/config/database.yml
не обновляет мою базу данных yml, чтобы быть обновленной базой данных postgres.Я предполагаю, что что-то упустил где-то.: Плакать: