标签: playframework-evolutions

在游戏2中重新生成进化脚本

我仍在开发我的应用程序的第一个版本2.如何重新生成进化脚本?

playframework playframework-2.0 playframework-evolutions

6
推荐指数
1
解决办法
3779
查看次数

如何手动应用演化并在播放框架2上标记为已解决

是否可以标记在playframework 2中应用的演变?

场景:我不得不更改已经应用的进化文件,因为它与H2不兼容,导致在测试期间不会应用剩余的进化.所以,我修好了.现在,应用程序想要重新应用修改后的演进.我想在不应用的情况下"标记已解决"(并避免删除以重新创建表格.)

scala playframework-2.0 playframework-evolutions

6
推荐指数
1
解决办法
1431
查看次数

“数据库'默认'处于不一致状态!” 来来去去

我有一个问题,即已部署服务器上的play数据库演进一次又一次处于不一致状态。我不明白这是什么问题。

  • 所有测试工作正常(在内存中)
  • 我可以通过运行启动应用程序(在内存中)
  • 我删除了进化sql-script并让它重新生成(通过在浏览器中单击进化触发器)
  • 我在conf文件中切换了用于mysql访问的必要属性
  • 我从开始构建 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) …
Run Code Online (Sandbox Code Playgroud)

playframework playframework-2.1 playframework-evolutions

5
推荐指数
1
解决办法
6494
查看次数

Play Framework 2.3如何重置数据库?

Evolutions的Play 2.3.x 文档中

在开发模式中,简单地删除开发数据库并从头开始重新应用所有进化通常更简单.

但是它没有说明如何执行此操作.我可以使用某种激活器命令来执行此操作吗?如何重置和重新应用演变?

谢谢!

更新:我不想手动弄乱我的数据库,但似乎这是唯一的方法

playframework playframework-evolutions playframework-2.3

5
推荐指数
1
解决办法
1639
查看次数

EvolutionsComponents在编译时依赖注入游戏项目中

我试图了解如何使用编译时DI运行演变.

import play.api.ApplicationLoader.Context
import play.api.cache.EhCacheComponents
import play.api.mvc.EssentialFilter
import play.api.routing.Router
import play.api._
import play.api.db.evolutions.{ DynamicEvolutions, EvolutionsComponents}
import play.filters.gzip.GzipFilter
import router.Routes

class AppLoader extends ApplicationLoader  {
  override def load(context: Context): Application = {
    LoggerConfigurator(context.environment.classLoader).foreach(_.configure(context.environment))
    new AppComponents(context).application
  }


}

class AppComponents(context: Context) extends BuiltInComponentsFromContext(context) with EhCacheComponents with EvolutionsComponents {

  lazy val applicationController = new controllers.Application(defaultCacheApi)
  lazy val usersController = new controllers.Users(defaultCacheApi)
  lazy val assets = new controllers.Assets(httpErrorHandler)

  applicationEvolutions

  // Routes is a generated class
  override def router: Router = new Routes(httpErrorHandler, applicationController, usersController, …
Run Code Online (Sandbox Code Playgroud)

scala playframework-evolutions playframework-2.5

2
推荐指数
1
解决办法
401
查看次数