如何在生产模式下使用数据库演进?

时间:2012-08-28 13:51:46

标签: database playframework playframework-2.0 production-environment playframework-evolutions

目前,我的演变有两种使用方式(在Play!2应用中):

  1. 它们用于定义数据库的结构
  2. 它们用于使用一些默认值填充数据库。
  3. Downs通常会破坏Ups可能做出的任何改变。我没有在prod模式中使用过evolutions,但我知道它们是在应用程序启动时应用的。

    这是否意味着更新应用会导致重新应用演变,从而导致我丢失所有数据?如果是这样,我该如何避免这种情况?

1 个答案:

答案 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