$BCfEg$5$s!"$*5"$j$J$5$$!*(B
$B$=$7$F$*=K$$$r$"$j$,$H$&$4$6$$$^$7$?!#(B
$BCOCf3$$X$4N99T$H$O$&$i$d$^$7$$$G$9!#(B
$B;d$OJ,Aj1~$K@%8MFb3$$"$?$j$G==J,$J$N$G!"3$$r8+$K9T$-$?$$$G$9(B:-)
$BK\F|$O%M%C%H%o!<%/$,$d$d=E$/!"$"$^$jA&$a$k$3$H$,$G$-$^$;$s$G$7$?!#(B
$B$4$a$s$J$5$$!#(B
$B8=:_?J9TCf$N$3$N%Z!<%8$O!"0lItG:$s$G$$$k$H$3$m$r;D$7$F(B
$B$*$*$`$MK]Lu$,$*$o$j$C$F$$$^$9!#(B
http://wiki.glassfish.java.net/Wiki.jsp?page=JRubyGFFAQJa
------------------------------
$BG:$s$G$$$k$H$3$m!'(B
------------------------------
1.
Q.$B%l%3!<%I$N%^%$%0%l!<%7%g%s$r9T$&:]$K$O!"(B
$B4XO"IU$1$i$l$?(B Active Records $B$r%j%U%l%C%7%e$9$kI,MW$,$"$j$^$9!#(B
$B%[%C%H%G%W%m%$%5%$%/%k$N0l4D$H$7$F$3$l$r
A. WAR $B%U%!%$%k$N%G%W%m%$$K;~$K%^%$%0%l!<%7%g%s$r
$B0l$D$NJ}K!$G$7$g$&!#(B
There's a precedence for this sort of thing,
with products like JIRA that do a database scan at startup to make sure
you're running the correct version of the tables.
$B$3$N
o$KMxMQ$G$-$k$b$N$G$O$"$j$^$;$s$,!"G[Hw$r40A4$K<+M3$K@)8f$G$-$k(B
$B>u67$K$"$k>l9g$OHs>o$KJXMx$G$9!#(B
------------------------------
$B>e5-$N(BA.$B$N(BThere're a precedance for this sort of things, $B$,(B
$B$=$N$"$H$N(Bwith products like JIRA $B$K$I$&$+$+$k$N$+$,:#$R$H$D(B
$B$D$+$a$:G:$s$G$$$^$9!#(B
------------------------------
2.
$B!V>.5,LO$J%(%s%?!<%W%i%$%:%7%9%F%`$N3+H/$K(B GlassFish $B$rMxMQ$9$k%a%j%C%H$O!)!W(B
$B$X$NEz$($H$7$F$"$2$i$l$F$$$k!"(B
* Simpler/Similar development/deployment model
$B$3$N(B Similar $B$O2?$r$"$i$o$7$F$$$k$N$+$J$!!D(B
Rails$B%"%W%j%1!<%7%g%s$r(BJava EE $B$H!VF1$8$h$&$J!W463P$G(B
$B3+H/!&G[Hw$G$-$k!"$H$$$&$3$H$G$7$g$&$+!#(B
------------------------------
$B$4=u8@$rD:$1$l$P9,$$$G$9!#(B
$B$"$H!"B>$KM%@h$9$Y$-%3%s%F%s%D$,$"$j$^$7$?$i$4;X<(2<$5$$!#(B
$B$h$m$7$/$*4j$$$$$?$7$^$9!#(B
//$B$"$C!"%A%c%$%`$,$J$C$F$7$^$C$?!D(B
Kotake