지금 하고 있는 프로젝트에서 필요할것 같아 메모형식으로 남겨둔다.
레일즈에서 처음 어플리케이션을 생성할 때 아래와 같은 옵션으로 지정하면 데이터베이스가 MySql을 사용하도록 만들어 준다. 별도의 지정을 하지 않으면 sqllite로 생성된다.
$ rails new 어플리케이션명 -d mysql
또는,
$ rails new 어플리케이션명 --database=mysql
만약 이미 프로젝트를 시작했고 어느정도 개발된상태에서 데이타를 바꾼다면 레일즈는 간단히 데이타베이스를 변경할 수 있다.
데이타의 구성, 그리고 변경이력등이 클래스로 관리되기 때문에 데이타베이스에 의존하지 않는다.
먼저 database.yml를 열어 설정을 변경하자.
database.yml
development:
adapter: mysql2
encoding: utf8
database: test_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
설정전 파일내용.sqllite로 설정되어 있음
그리고 아래의 명령어(rake)를 실행하여 변경내용을 반영한다.
$ rake db:create
당연히 에러가 발생.
원인은 잼이 설치되어 있지 않단다.
rake aborted!
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (mysql2 is not part of the bundle. Add it to Gemfile.)
MySql을 사용하기 위한 gem을 설치하자.
그러기 위해선 gemfile을 열어 편집해야 한다.
(*참고로 #는 주석처리이다.)
#gem 'sqlite3'
gem 'mysql2'
gem파일을 수정했으니 다시 번들 인스톨을 실행한다.
$ bundle install
다시 데이타베이스를 생성하고..
$ rake db:create
그리고 마이그레이션을 실행한다.
$ rake db:migrate
정상적으로 메세지가 출력되면 데이타베이스 변경완료.
역시 루비라는 생각이 들 정도로 간단하다.
'코딩(プログラミング)' 카테고리의 다른 글
아이폰 개발 참고사이트모음 (0) | 2013.03.15 |
---|---|
Objective-C에서 csv파일을 읽어 처리하는 방법 (0) | 2013.03.12 |
루비온레일즈(RubyOnRails) sqllite에서 MySql로 변경하려면 (0) | 2013.03.08 |
루비온레일스(Ruby On Rails) API Doc 맥 사전에 등록하기 (0) | 2013.02.27 |
Objective-C에서 정규식을 이용한 입력값체크방법 (0) | 2013.01.23 |
홈페이지 만들기 - WordPress (0) | 2013.01.18 |
댓글을 달아 주세요