Новое в SQL / Ruby on Rails - база данных создана, ошибка в схеме - PullRequest
0 голосов
/ 28 мая 2018

Я работаю над изучением SQL и Ruby on Rails и только начинаю.Я следую учебному пособию и успешно создал новую базу данных и пользователя SQL, а также проект.

Следующим шагом было запустить дамп схемы (даже если база данных в данный момент пуста) только дляподтвердить, что проект может общаться с новой базой данных.К сожалению, это не пойдет.Я могу видеть базу данных, указанную в моем config / database.yml, и она содержит правильные ссылки как на пользователя, так и на базу данных, но по какой-то причине сбой дампа схемы не выполняется.

Ниже приведены мои команды, за которыми следует ошибка, а затем снова команда с трассировкой.Я очень ценю любую помощь, которую вы можете предложить.

C:\Users\Danny\Documents\Sites\demo_project>rails db:schema:dump
rails aborted!
LoadError: cannot load such file -- mysql2/2.4/mysql2
C:/Users/Danny/Documents/Sites/demo_project/config/application.rb:7:in `<top (required)>'
C:/Users/Danny/Documents/Sites/demo_project/Rakefile:4:in `require_relative'
C:/Users/Danny/Documents/Sites/demo_project/Rakefile:4:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'
(See full trace by running task with --trace)

C:\Users\Danny\Documents\Sites\demo_project>rails db:schema:dump --trace
rails aborted!
LoadError: cannot load such file -- mysql2/2.4/mysql2
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10-x64-mingw32/lib/mysql2/mysql2.rb:2:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10-x64-mingw32/lib/mysql2/mysql2.rb:2:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10-x64-mingw32/lib/mysql2.rb:31:in `require'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/mysql2-0.4.10-x64-mingw32/lib/mysql2.rb:31:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:81:in `require'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:81:in `block (2 levels) in require'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:76:in `each'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:76:in `block in require'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:65:in `each'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler/runtime.rb:65:in `require'
C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/bundler.rb:114:in `require'
C:/Users/Danny/Documents/Sites/demo_project/config/application.rb:7:in `<top (required)>'
C:/Users/Danny/Documents/Sites/demo_project/Rakefile:4:in `require_relative'
C:/Users/Danny/Documents/Sites/demo_project/Rakefile:4:in `<top (required)>'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/rake_module.rb:29:in `load'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/rake_module.rb:29:in `load_rakefile'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/application.rb:703:in `raw_load_rakefile'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/application.rb:104:in `block in load_rakefile'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/application.rb:103:in `load_rakefile'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/rake_proxy.rb:13:in `block in run_rake_task'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rake-12.3.1/lib/rake/application.rb:186:in `standard_exception_handling'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/rake_proxy.rb:11:in `run_rake_task'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands/commands_tasks.rb:51:in `run_command!'
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/railties-5.0.7/lib/rails/commands.rb:18:in `<top (required)>'
bin/rails:4:in `require'
bin/rails:4:in `<main>'

1 Ответ

0 голосов
/ 28 мая 2018

В нижеприведенной команде вам нужно скомпилировать себя

C:\Users\xxxx\xxxx>gem install mysql2 --platform=ruby -- '--with-mysql-lib="I:\mysql-5.7.19-winx64\lib" --with-mysql-include="I:\mysql-5.7.19-winx64\include"'

Если вы все еще получили ошибку, вам может потребоваться понизиться до 2.3 для поддержки mysql.

Для совместимости mysql длярельсы на окнах .. пожалуйста, найдите ниже ссылку на GitHub:

https://github.com/brianmario/mysql2/issues/861

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