読者です 読者をやめる 読者になる 読者になる

jrubyだとrake db:createができない

jrubyrailsのアプリからjdbc_connectorを利用してDB接続を利用する(利用DB:MySQL)

  • 環境は以下の環境を利用します。(jruby-1.1.4)
bash-3.2$ jruby -S gem list --local

LOCAL GEMS ***
actionmailer (2.1.0) actionpack (2.1.0) activerecord (2.1.0) ActiveRecord-JDBC (0.5) activerecord-jdbc-adapter (0.9) activerecord-jdbcmysql-adapter (0.9) activeresource (2.1.0) activesupport (2.1.0) BlueCloth (1.0.0) facets (2.5.0) gem_plugin (0.2.3) jdbc-mysql (5.0.4) jruby-openssl (0.3) mongrel (1.1.5) rails (2.1.0) rake (0.8.3, 0.8.1) RedCloth (4.1.1) rspec (1.1.4) sources (0.0.1) bash-3.2$
  • jrubyrailsアプリのひな形を作成します
bash-3.2$ jruby -S rails kuro -d mysql
  • database.ymlの設定
development:
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/pochi
  encoding: utf8
  username: root
上記のように設定すると、urlの jdbc:mysql://localhost/***** 部分に名前を設定します
  • DB作成します
bash-3.2$ jruby -S rake db:create
はい、上記のやり方ではできませんでした。 (エラーでないし原因不明です。jdbcの仕様とかですかね?) なのでここはmysqlに直接DB作成します。
  • モデルを作成します。
bash-3.2$ jruby -S ./script/generate scaffold User name:string age:integer
ここでmigrate
bash-3.2$ jruby -S rake db:migrate
長い間かかりました。 昔jruby -Sをつけないでrailsアプリのひな形を作成したらしくそれでうまくいかなったらしいです。 次はjndi_lookupを用いた方法をやってみたいと思います。