Reputation: 1
I'm working on teaching myself both SQL & Ruby on Rails, and just starting out. I'm following a tutorial and successfully created a new SQL database and user, as well as a project.
The next step was to run a schema dump (even though the database is empty at the moment) just to confirm that the project could talk to the new database. Unfortunately it is a no go. I can see the database listed in my config/database.yml, and it contains the proper references to both the user and the database, but for some reason the schema dump fails.
Below are my commands, followed by the error, followed by the command again with a trace. I really appreciate any help you can offer.
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>'
Upvotes: 0
Views: 97
Reputation: 2727
In the below mentioned command you need compile yourself
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"'
If you still got the error then you might need to downgrade to 2.3 for mysql support.
For the mysql compatibility for rails on windows..please find below the github link:
https://github.com/brianmario/mysql2/issues/861
Upvotes: 1