본문 바로가기

프로그램 경험/Ruby/Rails

[루비 온 레일즈] Mysql 연동하기

정말 이거 하다가 미쳐버릴뻔 했다.
시중에 나온 책들은 모두 레일즈 1 버전이라서 해도 안되고
레일즈 사이트에 있는 대로 하면은 계속 오류 나고... 몇시간을 구글링해도 안되고... 젠장...
겨우 겨우 되서 그 방법을 적어 놓는다.

우선 나의 현 상황은 아래와 같다.

+운영체제 : 윈도우 7 64비트
+루비 : ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
+레일즈 : Rails 3.1.1
 -RailsInstaller를 통해 설치 했다.(http://railsinstaller.org/)
+Mysql : 5.5.16 MySQL Community Server (GPL)
 -XAMPP를 통해 설치 했다.(http://www.apachefriends.org/en/xampp-windows.html)

 
레일즈 가이드를 보고 따라하는 도중이었다.(http://guides.rubyonrails.org/getting_started.html)

config/database.yml 파일을 Mysql 설정으로 변경하고 

*************
development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  pool: 5
  username: root
  password: pw
  socket: C:/xampp/mysql/mysql.sock
************* 
 
터미널에서 rake db:create 를 실행하면 된다고 하는데 안되자나!!!! ㅅㅂ
아래와 같은 오류가 계속 날 반겨준다...ㅠㅠ

rake aborted!
uninitialized constant Mysql2

이짓 저짓 별짓꺼리 다해보다가 방법을 찾아냈다.

우선 Gemfile을 열고  
#gem 'sqlite3'  <-- 이걸 주석처리 하고
 gem 'mysql2'   <-- 이걸 넣어준다.

터미널로 돌아와서
C:\Sites\tutor>gem uninstall mysql2
C:\Sites\tutor>gem install mysql2 -- --with-mysql-dir="C:\xampp\mysql" --with-mysql-lib="C:\xampp\mysql\lib" 

이젠 다시 해보는 거다~
C:\Sites\tutor>rake db:create
rake aborted!
126: 지정된 모듈을 찾을 수 없습니다.   - C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/mysql2-0.3.10/lib/mysql2/mysql2.so
 
아아악!!!!!!!!!!!
죽여버려!!!!!!!!!!!!! ㅜㅜㅜㅜ


침착하고 다시 ...
C:\xampp\mysql\lib\libmysql.dll 파일을 Ruby bin 폴더로 옮긴다.(C:\RailsInstaller\Ruby1.9.2\bin)

파일을 옮겼으면 터미널로 다시 돌아와서
C:\Sites\tutor>bundle install
C:\Sites\tutor>rake db:create --trace
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create

됐다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
레일즈 하기 개힘들다...