Playframework &引用;数据库';默认值';处于不一致状态&引用;来来往往

Playframework &引用;数据库';默认值';处于不一致状态&引用;来来往往,playframework,playframework-2.1,playframework-evolutions,Playframework,Playframework 2.1,Playframework Evolutions,我的问题是,部署服务器上的play数据库演化一次又一次地处于不一致状态。我不明白出了什么问题 所有测试工作正常(在内存中) 我可以用run(在内存中)启动应用程序 我删除了evolution sql脚本,并让它重新生成(通过单击浏览器的evolution触发器) 我在conf文件中切换mysql访问所需的属性 我使用play clean编译阶段开始构建 我删除并创建mysql数据库 然后用-DapplyEvolutions.default=true启动应用程序 我经常遇到这样的错误: [er

我的问题是,部署服务器上的play数据库演化一次又一次地处于不一致状态。我不明白出了什么问题

  • 所有测试工作正常(在内存中)
  • 我可以用run(在内存中)启动应用程序
  • 我删除了evolution sql脚本,并让它重新生成(通过单击浏览器的evolution触发器)
  • 我在conf文件中切换mysql访问所需的属性
  • 我使用
    play clean编译阶段开始构建
  • 我删除并创建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)
[error]播放-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行的“序列生命周期事件顺序”附近使用的正确语法[错误:1064,SQLSTATE:42000]
哦,无法启动服务器。
@6epm5i5m6:数据库“默认”处于不一致状态!
at play.api.db.evolutions.evolutions$.checkEvolutionsState(evolutions.scala:177)
at play.api.db.evolutions.evolutions$.applyScript(evolutions.scala:275)
在play.api.db.evolutions.EvolutionsPlugin$$anonfun$onStart$1$$anonfun$apply$1.apply$mcV$sp(evolutions.scala:446)
在游戏中.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)
位于scala.collection.immutable.List.foreach(List.scala:309)
在游戏中.api.db.evolutions.EvolutionsPlugin.onStart(evolutions.scala:437)
在play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:63)
在play.api.play$$anonfun$start$1$$anonfun$apply$mcV$sp$1.apply(play.scala:63)
位于scala.collection.immutable.List.foreach(List.scala:309)
在play.api.play$$anonfun$start$1.apply$mcV$sp(play.scala:63)
在play.api.play$$anonfun$start$1.apply(play.scala:63)
在play.api.play$$anonfun$start$1.apply(play.scala:63)
在播放时.utils.Threads$.withContextClassLoader(Threads.scala:18)
在play.api.play$.start(play.scala:62)
正在运行.core.StaticApplication。(ApplicationProvider.scala:54)
播放时.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)
位于scala.Option.map(Option.scala:145)
at play.core.server.NettyServer$.main(NettyServer.scala:258)
正在运行的.core.server.NettyServer.main(NettyServer.scala)

在处理整个过程后,它会突然工作。

您应该在将配置切换到mysql后生成您的进化脚本


生成的脚本依赖于RDBMS。在启动
play clean compile stage

之前,需要使用正确的数据库引擎创建它。您可以发布用于演进的sql脚本吗?可能有什么地方不对劲,因为第一行在第1行说“接近‘序列生命周期事件顺序’[ERROR:1064,SQLSTATE:42000]”,sql文件相当大。该文件中不存在此语句
序列生命周期事件