WindowsのRuby on Railsで、データベースにローカルにインストールされたXAMPPのMySQLを使用し、接続します。
WindowsにRuby on Railsをインストールする手順は、以下を参考にしてください。
WindowsのRuby on Rails開発環境構築手順
なお、今回のバージョンは以下です。
- Windows 10 Pro(64bit)
- Ruby 2.2.4
- Rails 4.2.6
- mysql2 0.4.3
- XAMPP 1.8.2-6(Pleiades All in One 4.5.2.v20160312、MySQL 5.5)
新規アプリケーション作成時、データベースにMySQLを指定
新規アプリケーションを作成する時は、データベースにMySQLを指定してコマンドを実行すれば、必要なアダプター「mysql2」をインストールしてくれて、設定ファイルもMySQL用のものを作成してくれる。
コマンドにオプション「-d mysql」をつければOK。
#新規アプリケーション作成 >rails new testapp -d mysql
設定ファイル「config\database.yml」を編集する。
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: host: localhost development: <<: *default database: testapp_development test: <<: *default database: testapp_test production: <<: *default database: testapp_production username: testapp password: <%= ENV['TESTAPP_DATABASE_PASSWORD'] %>
rakeコマンドでDB作成と、マイグレーションを行い、設定ファイルの情報が正しければエラーなどは出ずに、アプリケーションの起動と画面表示(「http://localhost:3000/」へアクセス)ができると思う。
#DB作成 >rake db:create #DBマイグレーション >rake db:migrate #アプリケーション起動 >rails s
各バージョンの違いによるエラー
しかし、Railsとアダプターであるmysql2のバージョンのせいなのかいまいち分からないが、エラーになってrakeコマンドやアプリケーション起動ができない場合があった。
そんなときのいろいろやってみた対処法。
まずは、「Gemfile」に使用するバージョンを指定する。
mysql2のバージョンを落として、「0.3.20」にしてみたりするとエラーがなくなったりした。
#Rails gem 'rails', '4.2.6' #mysql2 gem 'mysql2', '0.3.20'
続いて、個別にバージョンを指定してgemパッケージをインストールする。
また、アダプターであるmysql2のオプション「–with-mysql-dir」で、インストールされたMySQLのフォルダを指定する。
もしくは、MySQL公式サイトで「C Driver for MySQL (Connector/C)」というコネクターのソースコードをダウンロードし、配置したフォルダを指定する。
#mysql2をインストール >gem install mysql2 -v '0.3.20' -- '--with-mysql-dir="C:\pleiades\xampp\mysql"'
最後に、MySQLの「lib\libmysql.dll」をRubyのbinフォルダに置く。
こんな感じで、エラーはなくなりました。
一度お試しを。
コメント