Rails / MySQL2: Ошибка — неизвестная база данных

#mysql #ruby #ruby-on-rails-3 #macos

#mysql #ruby #ruby-on-rails-3 #macos

Вопрос:

Я следую базовому руководству в Linda. Теперь я смог установить все правильно, но при запуске моего Rails-сервера я получаю это сообщение при посещении localhost:3000 :

 Unknown database 'simple_cms_development'
  

и затем

 Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.0ms)
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (23.5ms)
Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.0.7/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (29.8ms)
  

Комментарии:

1. @kidkola … запустите rake db: migrate и проверьте, работает ли это, также разместите здесь свой файл databse.yml. Также может быть вероятность того, что файл может быть поврежден…

Ответ №1:

Вы создали базу данных в MySQL? Вы должны быть в состоянии запустить rake db:create и заставить Rails создать ее для вас.

Комментарии:

1. Спасибо всем за помощь! Был установлен драгоценный камень mysql2, но я, как правило, не создавал базу данных. Я запускаю предложенный вами «rake db: create», и он отлично сработал. На ранней стадии у меня были проблемы с mysql, поэтому я думаю, что, возможно, я удалил базу данных при новой установке. Еще раз спасибо.

2. Не проблема. Не забывайте, что обычно ответ, который решил вашу проблему, помечается как «Принятый», нажав на зеленую галочку слева от ответа.

Ответ №2:

У меня была такая же ошибка, пожалуйста, запустите следующую команду в командной строке:

 rake db:create 
  

чтобы решить проблему.

Комментарии:

1. плюс 1 за то, что он более конкретен, чем другие

Ответ №3:

Ищите ответы на эти вопросы:

  1. Вы установили драгоценный камень mysql2?
  2. Упоминается ли это в вашем Gemfile?
  3. Вы выполнили команду rake db:create ?

Ответ №4:

Иногда создание базы данных с помощью rake вызывает проблемы.

Вы также можете создать базу данных внутри mysql

Убедитесь, что mysql находится в корневом каталоге %PATH%, в командной строке введите echo % PATH% для проверки.

Если это не на вашем ПУТИ. Затем выполните быстрый поиск в Google по пути Windows, чтобы получить инструкции

Откройте командную строку

введите mysql -u root -p

введите свой пароль, который вы создали для своего root

Для создания базы данных

создайте базу данных simple_cms_development

Выполнено

Ответ №5:

получал ту же ошибку, но причина была другой

 Mysql2::Error: Unknown database 'rdddd_development'
  

/Users/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:90: connect'
/Users/commeasure/.rvm/gems/ruby-2.6.3/gems/mysql2-0.5.2/lib/mysql2/client.rb:90:in
инициализировать

столкнулся с этой ошибкой из-за динамически созданного метода, код здесь

 Role.all.map(amp;:name).map(amp;:parameterize).map(amp;:underscore).each do |name|
    define_method("#{name.to_sym}?") do
     role.name == name.upcase
    end
  end
  

Как мне исправить это для временной цели, просто прокомментируйте это

Комментарии:

1. begin Role.all.map(amp;:name).map(amp;:parameterize).map(amp;:underscore).each do |name| define_method("#{name.to_sym}?") do role.name == name.upcase end end rescue rescue StandardError => e e end Это работает для меня.