滚动进化回来

时间:2012-04-09 05:19:19

标签: playframework-2.0 revert playframework-evolutions

这个问题可能看起来很愚蠢,但我找不到任何有关如何在Play 2.0中回滚演变的说明。谷歌只发现一个页面,说明进化文件的“唐氏”部分用于那个,而这就是全部。任何指针或说明将不胜感激。

2 个答案:

答案 0 :(得分:21)

Downs 部分主要用于在脚本更改时还原Evolution。也就是说,您有一个项目, 2.sql 应用于数据库,然后,由于合并, 2.sql 在源中被修改。 Play将在旧版本上运行 Downs ,然后在新的2.sql上运行 Ups 以确保数据库与代码库同步。

据我所知,无法单独触发 Downs ,因为Evolution的目的是准备数据库以使用您的代码,并仅应用一个 Downs 步骤会使应用程序处于不一致状态,并且会出现许多潜在错误。

如果你真的需要还原一些东西,那将是一个新的Evolution(3.sql),其中 Ups 会进行所需的更改。

答案 1 :(得分:4)

对于播放2.4.x,根据播放文档,您只需在测试后调用Evolutions.cleanupEvolutions(database)。见https://www.playframework.com/documentation/2.4.x/ScalaTestingWithDatabases