2010년 10월 7일 목요일

rails와 mysql 연동하기

처음 rails공부를 시작하면서 제일 힘들었던 것이 바로 이 mysql연동하는 것이었다.
rails는 mysql을 설정해주지 않으면 default로 sqlite3 db를 사용한다.

어쨌거나, 시작해보자.

개발환경은 다음과 같다.
OS X 10.6.4
Rails 2.3.8
ruby 1.8
mysql 5.1.51 (os X 10.6 - x86_64)



1. 설치

우선 컴퓨터에 mysql이 설치되어 있어야 한다. (Mac에 mysql 설치하기)

$ gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
(mysql_config가 있는 경로를 적어준다)

이렇게 하여 "1 gem installed"라는 메세지가 뜨면 성공이다.
그러나 나는 무수한 수행착오를 겪었고 셀 수 없을 만큼 지웠다가 다시 깔기를 반복했다.
참고로 mysql을 지우는 명령은 다음과 같다.
$ gem uninstall mysql

gem 명령은 상황에 따라 sudo를 필요로 한다.


2. database설정

ralis를 만든 곳으로 이동하자.
그리고 database파일을 수정한다.
$ vi config/database.yml

development, test, production이 있는데 이것은 개발과 테스트와 실제 사용할 db를 따로 관리하기 위해서라고 한다.
아무튼 일단 개발을 할테니까, 가장 많이 사용하게 될 것은 development다.
development를 수정하자!
development:
adapter: mysql #사용할 database
encoding: utf8
reconnect: false
database: test_development # 실제 mysql에 생성되는 database 이름
pool: 5
username: root # mysql에 접속할 id와 password
password:
socket: /tmp/mysql.sock # 보통 mysql.sock은 tmp에 있다. (시스템에 따라..)



3. database생성

위의 설정파일에 저장한 id와 password로 mysql에 접속하여 database를 생성한다
$ mysql -uroot

mysql> create database test_development;
mysql> exit

성공 메세지가 나오면 빠져나온다.
그리고 ralis의 database를 구축한다.
$ rake db:migrate

한 줄의 명령어로 ralis에서 필요한 table이 방금 생성한 db에 자동으로 생성된다.
만약 migration이 안된다면 무언가 db설정이 잘못된 것이므로 과정을 주의깊게 살펴보길 바란다.



위의 과정 중에 에러가 난다면 "이쪽"으로 이동!!

댓글 1개:

  1. ye Secrets eyelid lifter and Respect Secrets lid tightener are available to take away the scarcity repayment for risky and painful surgery conveniently and payment effectively. With the Eye Secrets eyelid lifter, it is a impermanent, easy as pie and easy means of lifting the eyelid zone giving a wider-eye look and making you look younger and more radiant. Eye Secrets eyelid lifter is hook hypoallergenic, wholly harmless for all to use, the adhesive strips that you make application to the purpose consist of a medical hill hypoallergenic adhesive which eliminates the gamble of irritation like with some other eyelid lifters

    답글삭제