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

问题描述 投票:3回答:1

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

  1. 它们用于定义数据库的结构
  2. 它们用于使用某些默认值填充数据库。

Downs通常会破坏Ups可能做出的任何改变。 我没有在prod模式中使用过evolutions,但我知道它们是在应用程序启动时应用的。

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

database playframework playframework-2.0 production-environment playframework-evolutions
1个回答
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
...

您还可以查看此问题以获取更多详细信息: 播放! 框架 - Evolutions的数据库问题

© www.soinside.com 2019 - 2024. All rights reserved.