以下は新しいGrailsではできません。比較的新しいGrails(1.0RC2以降)で実行するには
http://d.hatena.ne.jp/uehaj/20071205/1200971154
をどうぞ。
"grails console"で、実行中のgrailsアプリケーションに対していろいろgroovyレベルでアクセスを行うことができる。しかし、このときのgrailsはWebアプリとしては実行されていないので、ドメインクラスとかダイナミックファインダーメソッドとかを呼び出すことはできても、同時にWEBブラウザからWebアプリとして操作できないように思われる。WebのUIの様子を見たり、WebのUIからデータを投入したりしつつ、consoleも使えると便利なのだが・・・
と思って、grails_home/script/RunApp.groovyをいじってRunAppAndConsole.groovyというのを作ってみました。1行追加、1行修正しただけなんですが。
> diff RunApp.groovy RunAppAndConsole.groovy
42a43
> includeTargets << new File ( "${grailsHome}/scripts/Console.groovy" )
47c48
< depends( checkVersion, configureProxy, packagePlugins, packageApp )
- -
> depends( checkVersion, configureProxy, packagePlugins, packageApp, console )
こんな機能、コマンドラインオプションとかあるいはscriptとして既にありますかね。いかにもありそうというか無いのが変なので、見つけ損なっているのだという確信に近いものがありますが。
あるいは、groovy consoleから簡単なgroovyコード実行でgroovy run-appに相当することができるとか。
どなたかご存知でしたら教えてくださいませ。
(11/09 21:02追記, DB更新に問題があったため、consoleタスクを明示的に呼び出すのではなくdependsに列挙するようにした)