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