Я пытаюсь развернуть приложение для рельсов на эластичный бобовый стебель aws, руководствуясь этой статьей.Rails aws эластичная ошибка развертывания beanstalk с адаптером базы данных
Перед началом "Использование PostgreSQL с Rails" часть, у меня не было никаких проблем.
В этой части я следил за изменением gemfile, который добавляет камень postgreSQL в производственную группу и перемещает камень sqlite3 в тестовую группу разработки &, так же как и другие приложения для рельсов.
Как это
group :development, :test do
# Before insert this group, sqlite3 gem code is in the default group. (Outside of development group)
gem 'sqlite3', '~> 1.3.10'
...other gems...
end
group :production do
gem 'pg', '~> 0.18.1'
end
После этого я $ bundle install
, $ git commit
и $ eb deploy
. Но в это время, EBS делает ошибку с ниже сообщениями
ERROR: [Instance: i-80ee5327] Command failed on instance. Return code: 1 Output: (TRUNCATED)...sqlite3'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
Gem::LoadError: sqlite3 is not part of the bundle. Add it to Gemfile.
Tasks: TOP => db:migrate => db:load_config (See full trace by running task with --trace).
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI.
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1].
ERROR: Unsuccessful command execution on instance id(s) 'i-80ee5327'. Aborting the operation.
ERROR: Failed to deploy application.
Читая сообщения об ошибках, я ловлю, что sqlite3 камень не loadded экземпляра AWS, так что я потушил sqlite3 код драгоценного камня для внешней группы развития.
gem 'sqlite3', '~> 1.3.10'
group :development, :test do
...other gems...
end
group :production do
gem 'pg', '~> 0.18.1'
end
После этого команда $ eb deploy
хорошо работает, и сервер работает.
Итак, мой вопрос ... ПОЧЕМУ эта проблема возникает?
В моей мысли, если я сделаю gemfile, как 2-й вариант, адаптер sqlite3 загружается по умолчанию и должен быть сбой в рабочей среде. Но результат полностью противоположный мне. Это очень неприятная ситуация, и, более того, я сомневаюсь, что я делаю правильное решение.
Пожалуйста, помогите мне ...
Это мои текущие переменные среды.
RACK_ENV = development
SECRET_KEY_BASE = **********
RAILS_SKIP_MIGRATIONS = false
RAILS_SKIP_ASSET_COMPILATION = false
BUNDLE_WITHOUT = test:development
Что находится в config/database.yml? – jae555
Вы можете удалить «<<: * default» под производство и посмотреть, что произойдет? – jae555
@ jae555 Меня закручивают в модифицирующем коде и объясняют это. После того, как я написал этот вопрос, я постоянно борюсь с другими ошибками установки, и теперь я полностью проиграл. Это раздражающая ситуация, но я просто с ней ... Спасибо. – casamia