key-cc

思いついたら、書き込む自分への作業と情報のメモページ

MySQLのrootパスワードとRailsでのdb:create問題

2008-09-12 16:24:04 | デジタル・インターネット
railsをして、Web機能を立ち上げ、About your application’s environmentでサーバーチェックをしたとき、エラーに「couldn't create database mysql」と出ているときは、MySQLに問題がある。

JRuby on RailsでMySQLにアクセスするとき、database.ymlにパスワードを記述するのだが、MySQLのrootパスワードが数字から始まると、jruby -S rails -d mysql hoehoeとやったときに、うまくDBが作成されません。

railsでdb:createをうまくやるためには、rootのパスワードは、必ずアルファベットから始めるようにしましょう。

また、script/serverでMySQLのエラーが出ているときは、

jruby -S gem install -y ActiveRecord-JDBC --platform jruby
jruby -S gem install -y jruby-openssl --platform jruby

の実行をしておきましょう。

scaffoldが

jruby -S scaffold モデル名 フィールド名

でできない時は、

jruby script/generate scaffold モデル名 フィールド名

で実行しましょう


Railsでテーブルに列の追加方法

2008-09-11 17:01:26 | デジタル・インターネット
JRuby on Railでscaffoldして作ったTableに新たに列を追加したい場合は、以下のように記述する。


jruby script/generate migration add_column_(追加したい列名)_to_(追加するテーブル名) (追加したい列名):(型)

NetBeans IDEを利用している時は、Railsプロジェクトの上でControlキーを押しながらクリックし、「生成...」を選び、「生成(G):」は[ migration ]を選び、「引数(A)」に[ add_column_(追加したい列名)_to_(追加するテーブル名) (追加したい列名):(型) ]を入力し、「了解」をクリックします。

その後、

jruby -S rake db:migrate

NetBeans IDEを利用している時は、Railsプロジェクトの上でControlキーを押しながらクリックし、「生成...」を選び、「Rakeタスクの実行」の中の「db」の「migrate」


をして完了です。

具体的に少し書いておく。

Table名が、「hoehoe」の時、追加したい列が「memo」という文字のフィールドとします。
その場合は、以下のように書く。

$ jruby script/generate migration add_column_memo_to_hoehoe memo:string
$ jruby -S rake db:migrate

NetBeans IDEを利用している時は、Railsプロジェクトの上でControlキーを押しながらクリックし、「生成...」を選び、「生成(G):」は[ migration ]を選び、「引数(A)」に[ add_column_memo_to_hoehoe memo:string ]を入力し、「了解」をクリックします。