id:torutk:20090714:p1の続きです。残っていた「GrailsのORM DSL」(レガシーデータベースの使用)と「DataSource.groovy」を読みながら動かしてみます。
GrailsのORM DSL
ドメインクラスにstatic mapping = {...} と記述して、ドメインクラスがマッピングするデータベースのテーブル名、カラム名を指定するものです。ただし、実際に動かすには記事は説明不足なので(例えばversion指定等)、後の記事でレガシーデータベースの解説があるまで待った方がよいでしょう。
DataSource.groovy
grails-app/conf/DataSource.groovyに、使用するデータベースの設定が書かれています。デフォルトでは内蔵のHSQLDBですが、これを記事ではDB2とMySQLの指定例を紹介しています。
ここでは、MySQLに接続して動かしてみました。
MySQLのインストールと設定
mysql-serverパッケージが未インストールであればインストールします。
# yum install mysql-server
次にMySQLの設定ファイルに言語設定を追記します。
- /etc/my.cnf
[mysqld] default-character-set = utf8 [client] default-character-set = utf8 ||< この設定をしないと、作成するデータベースがすべて"latin1"となり、日本語を入れると文字化けを誘発します。 ***MySQLの起動方法(Linux編) MySQLはサービス化されているので、以下のように実行可能です。 >|| # service mysqld start MySQL を起動中: [ OK ] #
データベースとユーザの作成
データベースtripを作成します。
同一マシンおよびリモートマシンからtripデータベースにアクセス可能なユーザgrailsを作成します。
# mysql -u root mysql> CREATE DATABASE trip; mysql> GRANT ALL ON trip.* TO grails@localhost IDENTIFIED BY 'server'; mysql> GRANT ALL ON trip.* TO grails@'%' IDENTIFIED BY 'server'; mysql>
grails-app/conf/DataSource.groovyの変更
dataSource { driverClassName = "com.mysql.jdbc.Driver" username = "grails" password = "server" } : (中略) environment { development { dataSource { url = "jdbc:mysql://myhost:3306/trip" } } : (後略)