gpt4 book ai didi

java - 玩!框架 - Evolutions 的数据库问题

转载 作者:搜寻专家 更新时间:2023-10-30 21:17:02 25 4
gpt4 key购买 nike

我正在使用 Play! framework 2.0,我陷入了一个涉及数据库的恼人问题。

假设我有一个 User(扩展 Model)类,它有几个属性(first_namelast_name电子邮件密码等)。

有时我想添加一个新属性,比如last_ip(它是什么并不重要)。因此,我将属性添加到 User 类,编译并运行。

问题是:我收到关于数据库更改的红色警报(很明显),它要求我按“应用更改”(如果我没记错的话)。没关系,但是! 所有数据库记录都被删除!

结论:我想要一个新字段,但我不想丢失我已经添加到数据库中的所有记录。这可能吗?

最佳答案

首先,您需要通过删除 conf/evolutions/default/1.sql 的前 2 行注释来禁用 Evolution 文件的自动生成:

# --- Created by Ebean DDL
# To stop Ebean DDL generation, remove this comment and start using Evolutions

# --- !Ups
...

然后,您需要创建第二个名为 conf/evolutions/default/2.sql 的文件,其中包含您对数据库模式的更新,其中包含 Ups 和 Downs 部分:

# --- !Ups
ALTER TABLE USER ADD COLUMN last_ip varchar(30) DEFAULT NULL;

# --- !Downs

ALTER TABLE USER DELETE COLUMN last_ip;

关于java - 玩!框架 - Evolutions 的数据库问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com