目前,我的演变有两种使用方式(在Play!2应用中):
Downs通常会破坏Ups可能做出的任何改变。我没有在prod模式中使用过evolutions,但我知道它们是在应用程序启动时应用的。
这是否意味着更新应用会导致重新应用演变,从而导致我丢失所有数据?如果是这样,我该如何避免这种情况?
答案 0 :(得分:4)
如果在生产模式下启用Evolutions,则不会执行脚本的Downs部分。为此,您需要通过删除conf / evolutions / default / 1.sql的前2个注释行来禁用Evolution文件的自动生成:
# --- Created by Ebean DDL
# To stop Ebean DDL generation, remove this comment and start using Evolutions
# --- !Ups
...
您还可以查看此问题以获取更多详细信息:Play! framework - database issue with Evolutions