6

デプロイされたサーバー上のプレイデータベースの進化が一貫性のない状態にあるという問題が何度もありました。何が問題なのかわかりません。

  • すべてのテストは正常に動作します (メモリ内)
  • (メモリ内で) run でアプリケーションを起動できます
  • 進化SQLスクリプトを削除し、新しく生成させます(ブラウザの進化トリガーをクリックして)
  • mysql アクセス用の conf ファイルで必要なプロパティを切り替えます
  • 私はビルドを開始しますplay clean compile stage
  • mysql データベースを削除して作成します
  • 次に、 -DapplyEvolutions.default=true でアプリケーションを開始します

私はしばしばこのエラーを受け取ります:

[error] play - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sequence life_cycle_event_seq' at line 1 [ERROR:1064, SQLSTATE:42000]
Oops, cannot start the server.
@6epm5i5m6: Database 'default' is in inconsistent state!
    at play.api.db.evolutions.Evolutions$.checkEvolutionsState(Evolutions.scala:177)
    at play.api.db.evolutions.Evolutions$.applyScript(Evolutions.scala:275)
    at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(Evolutions.scala:446)
    at play.api.db.evolutions.EvolutionsPlugin.withLock(Evolutions.scala:483)
    at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:439)
    at play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1.apply(Evolutions.scala:437)
    at scala.collection.immutable.List.foreach(List.scala:309)
    at play.api.db.evolutions.EvolutionsPlugin.onStart(Evolutions.scala:437)
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
    at play.api.Play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(Play.scala:63)
    at scala.collection.immutable.List.foreach(List.scala:309)
    at play.api.Play$$anonfun$start$1.apply$mcV$sp(Play.scala:63)
    at play.api.Play$$anonfun$start$1.apply(Play.scala:63)
    at play.api.Play$$anonfun$start$1.apply(Play.scala:63)
    at play.utils.Threads$.withContextClassLoader(Threads.scala:18)
    at play.api.Play$.start(Play.scala:62)
    at play.core.StaticApplication.<init>(ApplicationProvider.scala:54)
    at play.core.server.NettyServer$.createServer(NettyServer.scala:228)
    at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:259)
    at play.core.server.NettyServer$$anonfun$main$5.apply(NettyServer.scala:258)
    at scala.Option.map(Option.scala:145)
    at play.core.server.NettyServer$.main(NettyServer.scala:258)
    at play.core.server.NettyServer.main(NettyServer.scala)

プロセス全体をいじった後、突然機能します。

4

1 に答える 1

1

構成を mysql に切り替えた後、進化スクリプトを生成する必要があります。

生成されるスクリプトは RDBMS に依存します。起動する前に、正しいデータベース エンジンで作成する必要があります。play clean compile stage

于 2013-07-10T11:09:01.657 に答える