前へ | 次へ |
[mysqld] port = 3306 socket = /tmp/mysql.sock default-character-set= utf8 default-collation =utf8_general_ciこれでもなんかダメぇーというときは、コマンドで「kakeibo」データベースを作るときに文字コードを指定します。
create database kakeibo default character set utf8
grails create-app kakeibo
これでmygrailsフォルダの下にkakeiboというフォルダができますから、以後はそれに移動して作業します。
cd kakeibo
このアプリケーションkakeiboで、MySQLのkakeiboデータベースを使用するという設定をします。
それには、kakeiboフォルダの中の、さらにgrails-appフォルダ、さらにさらにconfフォルダと開いていき、DataSource.groovyと言うファイルを編集します。
dataSource { pooled = true driverClassName = "com.mysql.jdbc.Driver" username = "ユーザ名" password = "パスワード" }ユーザ名には、データベースkakeiboにテーブル作成・データの読み書きができるユーザを設定します。
それぞれの環境のさらに「dataSource」の設定を変更します。
development { dataSource { dbCreate = "update" url = "jdbc:mysql://localhost/kakeibo" } } test { dataSource { dbCreate = "update" url = "jdbc:hsqldb:mem:testDb" //この環境は使わないことを想定している } } production { dataSource { dbCreate = "update" url="jdbc:mysql://localhost/kakeibo" } }
これで「MySQLを使う」設定は完了です。なかなかめんどくさいですね。特に、JDBCドライバを用意するとか、データベースだけは作っておくとか、DataSource.groovyには「dataSource」と書いてあるブロックは最低2種類・3カ所について修正するとか(以上、ワタシ自身が再現しようとして詰まった点)いうところが忘れやすいですね。
次でいよいよサーバを起動しようってときに「スタックトレース」をゲロゲロと吐き散らして潰れやがったときには、このデータベースの設定に誤りのある可能性が大きいので、再確認してみてくださいネ。ついでながら、「スタックトレース」と「スタートレック」はどこか似ているbyO25