Playframework 在Play Framework 2.0上运行演进

Playframework 在Play Framework 2.0上运行演进,playframework,playframework-2.0,Playframework,Playframework 2.0,这篇最近的帖子说,当运行Play2.0时,将自动应用进化。我已经尝试了play-2.0-beta下载和最新的git代码,但我没有看到这种行为。事实上,我找不到任何方法在生产模式中应用这些演进。我遗漏了什么吗?请尝试Play 20示例应用程序中的一个,在应用程序启动时,系统会提示您应用evolutions-该请求在您第一次启动应用程序时出现在应用程序浏览器中。从RC-3开始,evolutions脚本的新位置位于conf/evolutions/[dbname]/1.sql中。否则,上面的信息仍然是准

这篇最近的帖子说,当运行Play2.0时,将自动应用进化。我已经尝试了play-2.0-beta下载和最新的git代码,但我没有看到这种行为。事实上,我找不到任何方法在生产模式中应用这些演进。我遗漏了什么吗?

请尝试Play 20示例应用程序中的一个,在应用程序启动时,系统会提示您应用evolutions-该请求在您第一次启动应用程序时出现在应用程序浏览器中。

从RC-3开始,evolutions脚本的新位置位于conf/evolutions/[dbname]/1.sql中。否则,上面的信息仍然是准确的。

在应用程序中添加
applyEvolutions.default=true
。conf将在应用程序中默认启用evolutions。

在开发模式下工作,但是如果在生产模式下运行示例,我会立即得到以下异常:Oops,无法启动服务器。play.api.db.evolutions.InvalidDatabaseRevision:数据库“默认”需要改进![需要在数据库上运行SQL脚本。]好的一点,看起来需要在不久的将来实现。您仍然可以在dev中启动它,应用进化,然后切换到prod。但是我同意,它应该可以像play1.0一样工作。这似乎没有必要。。。版本2.0.3()的文档指出,“演化将自动激活”和“在开发模式下的每个请求之前,Play将检查您的数据库模式状态”。。。除非上述仅与
PROD
模式(?)相关。但是文档中似乎根本没有提到这个配置参数。这对于Play 2.0.2是必要的,不确定2.0.3我正在使用Play 2.2.x,并使用%Play-DapplyEvolutions.default=true启动一个应用程序,它工作得非常好。在Play 2.4+:Play.evolutions.db.default.autoApply=true我认为对“进化自动激活”这句话有误解。这句话的上下文是“您可以通过设置evolutionplugin=disabled来禁用它们”。激活并不意味着“自动应用”。我认为对“进化是自动激活的”这句话存在误解。这句话的上下文是“您可以通过设置evolutionplugin=disabled来禁用它们”。激活并不意味着“自动应用”。我当然遭受了这种误解。