2007/08/08

NetBeans IDE 6.0 M10 에서 jRuby on Rails 설정

약간의 삽질(오전을 날렸음) 끝에 Migration을 돌릴 수 있었다.

준비물
  1. NetBeans IDE 6.0 M10 - 이후 버전이면 뭐라도 상관없음.
  2. JDBC Driver
  3. 윈도우만 설치한 컴퓨터

이정도면 준비 오케이.

아무생각 없이 NetBeans를 와장창 깔아버린다.

JDK 6.0, GlassFish(WAS), Derby(DB), jRuby 까지 설치.

새 프로젝트로 jRuby On Rails를 만들고 모델을 만든 후 Migration 을 시도하니 오류발생

검색을 좀 해보니 environment.rb를 수정해야 한다고 한다.

require File.join(File.dirname(__FILE__), 'boot')

if RUBY_PLATFORM =~ /java/

require 'rubygems'

RAILS_CONNECTION_ADAPTERS = %w(jdbc)

end

Rails::Initializer.run do config

붉은 색 부분을 추가한다. jRuby랑 호환을 위해 RUBY_PLATFORM 을 따지나보다.

jRuby에 JDBC를 사용하기로 했으니 database.yml도 수정

development:

adapter: jdbc

driver: com.mysql.jdbc.Driver

url: jdbc:mysql://localhost:3306/jruby

username: root

password:

인코딩 문제가 있을 것도 같지만 일단 패스.

다시 Migration 하니...

안된다.

com.mysql.jdbc.Driver 드라이버 자체를 로드를 못한다.

디폴트 설치 기준으로

C:\Program Files\NetBeans 6.0M10\ruby1\jruby-1.0\lib

에 jdbc 파일을 복사한다. mysql-connector-java-5.0.7-bin.jar 를 툭 떨어뜨리기.


(in D:/wrkz/IDS/workspace2/ror1)
== CreateBasicwords: migrating
================================================
--
create_table(:basicwords)
-> 0.1250s
== CreateBasicwords:
migrated (0.1250s) =======================================
==
CreateStandardwords: migrating
=============================================
--
create_table(:standardwords)
-> 0.1400s
==
CreateStandardwords: migrated (0.1400s) ====================================

와하하하 잘된다.
자료가 없는 것에 비해 금방 적응해서 다행.

.....이라고 생각했으나

역시 mysql 인코딩 문제가 발생
한글이 ??로 전부 깨진다.
이래저래 삽질해보다가 결국 mysql 을 꼭 쓸 필요가 있는가 하는 질문을 던져보고
만일 mysql 때문인지 jRuby 때문에 안되는지 확실하게 알려면 다른 DB를 써보면 된다라는 결정을 내리고 sqlite(파일 하나만 덜렁 만들어서 완소) 도전.

잘 안된다.

기본으로 NetBeans와 함께 설치하는 Derby를 사용해보기로 했다.
development:
adapter: jdbc
driver: org.apache.derby.jdbc.ClientDriver
url: jdbc:derby://localhost:1527/sample
username: app
password: app

아무 옵션도 안만진 상태에서 요렇게
적용해보니 잘 된다.
한글도 문제 없다.

그나저나 콘솔창에서 한글 입력이 깨지는 문제는 어쩐다지.