heroku выдает ошибку ActiveRecord::AdapterNotSpecified: «производственная» база данных не настроена. Доступно: [разработка, тест]

Моя база данных.yml

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: organic_tomatoes_development
  pool: 5
  username: root
  password: password

test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: organic_tomatoes_test
  pool: 5
  username: root
  password: password

Я размещаю свой сайт на героку. Когда я запускаю heroku run rake db:migrate, выдает ошибку

ActiveRecord::AdapterNotSpecified: 'production' database is not configured. Available: ["development", "test"]

Как я могу решить эту ошибку?


person Haseeb Ahmad    schedule 24.06.2018    source источник
comment
Возможный дубликат ActiveRecord::AdapterNotSpecified в конфигурации базы данных не указан адаптер   -  person Kick Buttowski    schedule 24.06.2018
comment
@KickButtowski, я пробовал, решение не работает   -  person Haseeb Ahmad    schedule 24.06.2018


Ответы (4)


В соответствии с общим описанием у вас указана только среда разработки и тестирования, вам также необходимо добавить настройки рабочей среды.

Но помимо этого вам нужно добавить ClearDB в качестве надстройки для использования mysql db.

Щелкните Показать переменные конфигурации и скопируйте значение CLEARDB_DATABASE_URL.

mysql://[email protected]/xxxxx?reconnect=true.

Все после символа @, пока / не является DB_HOST

Все после/до? это DB_DATABASE

Строка после // до : является DB_USERNAME

Строка между : и @ является DB_PASSWORD

   development:
     adapter: mysql2
     encoding: utf8
     reconnect: false
     database: organic_tomatoes_development
     pool: 5
     username: root
     password: password

   test:
    adapter: mysql2
    encoding: utf8
    reconnect: false
    database: organic_tomatoes_test
    pool: 5
    username: root
    password: password

   production:
     adapter: mysql2
     encoding: utf8
     username: xxxx
     password: xxxx
    database: ENV["CLEARDB_DATABASE_URL"]
    pool: 5
person Rohan    schedule 24.06.2018

Создайте производственную запись в вашей базе данных.yml

production::
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: organic_tomatoes_production
  pool: 5
  username: root
  password: password
person Doug    schedule 24.06.2018

production:
    adapter: mysql2
    encoding: utf8
    reconnect: false
    database: organic_tomatoes_production
    pool: 5

Вы можете попробовать это?

person praaveen V R    schedule 24.06.2018

У меня была эта проблема сегодня утром, и решение состоит в том, чтобы установить переменную RAILS_ENV перед запуском команды.

RAILS_ENV=development heroku local
person Nafaa Boutefer    schedule 24.10.2019