Google Appengine にデプロイされた Play アプリケーションがあります。モジュールで Play 1.2.4 を使用しています: crudsiena 2.0.1 gae-1.6 secure siena 2.0.5
私の問題は次のとおりです。いくつかのモデルを使用してアプリケーションをデプロイしましたが、アプリは正常に動作しています。しばらくして、Model クラスに新しい変数を導入する必要があるアプリケーションを改善することにしました。これを行うと、localhost は問題なく動作しますが、新しいバージョンを GAE にアップロードすると、古いバージョンで作成されたモデル オブジェクトにアクセスしようとすると、新しい変数を関連付けることができないため、エラーが発生します。
play.exceptions.JavaExecutionException: siena.SienaException: java.lang.IllegalArgumentException: Can not set boolean field models.Dataset.reportEnabled to java.lang.Integer
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:229)
at play.server.ServletWrapper$ServletInvocation.execute(ServletWrapper.java:540)
at play.Invoker$Invocation.run(Invoker.java:265)
at play.server.ServletWrapper$ServletInvocation.run(ServletWrapper.java:531)
at play.Invoker.invokeInThread(Invoker.java:67)
at play.server.ServletWrapper.service(ServletWrapper.java:130)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
この場合、boolean reportEnabled 変数が Dataset クラスに新たに導入されました。私の質問は、古いオブジェクトも保持してアプリケーションを機能させる方法です (おそらく、新しい変数にデフォルト値を提供するだけです)。
よろしくお願いいたします。