当前位置: 首页 > 面试题库 >

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

盛建德
2023-03-14
问题内容

我正在使用Play!框架2.0,我陷入了涉及数据库的烦人问题。

假设我有一个User(延伸Model它有几个属性)类(first_namelast_nameemailpassword等)。

在某个时候,我想添加一个新属性,可以说last_ip(它到底是什么并不重要)。因此,我将属性添加到User类中,进行编译和运行。

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

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


问题答案:

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

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

# --- !Ups
...

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

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

# --- !Downs

ALTER TABLE USER DELETE COLUMN last_ip;


 类似资料:
  • 数据库是整个站点的数据储藏室。用户提交的数据可以存储在数据库中,以便未来使用。Play可以通过JDBC和数据库通信。我讲介绍Play和mysql数据库的连接。 Play 2.*版本的默认操作数据库的方式是通过Ebean。Play提供Finder这一帮助类型,可以实现一些简单的数据库查询。 数据库准备 在mysql中增加数据库testing。增加用户"player",密码为"player"。为用户p

  • 从戏剧!框架文档: Play2.0中没有内置的JPA实现;您可以选择任何可用的实现。例如,要使用Hibernate,只需将依赖项添加到项目中: 我的选择是什么而不是冬眠? 你认为什么最适合留言板网站? 我知道Hibernate有一点开销,对吗?

  • 是一个通用数据库处理框架(可以包含MSSQL POSTGRESQL,SQLITE EXCEL MYSQL DB2 ORACLE...只要你愿意实现接口就可以).很便捷地进行常用数据库操作(增删改查).其性能是几近纯ADO.NET.对于实体的查询采用emit实 现,如果您还不满意可用此框架的代码生成器直接生成纯ADO.NET SQL形式.其主要特色就是性能和便捷的操作.  

  • 我有一个类,它扩展了 创建表主题的第一条记录可以,但无法创建另一条记录: [PersistenceException:执行DML bindLog时出错[]错误[ERROR:重复的键值违反了唯一约束“pk\U主题”\n详细信息:键(id)=(1)已存在。]] 例外情况当然发生在这一行: 这很奇怪,因为: 它以前工作没有问题 我应该怎么做才能解决这个问题? 类(当然不是全部,只是相关的):

  • 在我的项目中,我得到了类类别(仅重要部分代码): 以及与多对多相关的另一类: 我有一个Categories控制器,我从其中调用方法delete。类声明如下所示: 这是我的控制器中的方法: 我的categoryServiceImpl声明如下: 以及没有事务的服务中的删除方法: 我在尝试访问service delete方法中的时遇到异常: 我知道这是因为这个方法中没有事务。但是当我尝试将事务强制到我的

  • 我使用play 2.0.1来构建我的应用程序。到目前为止,我还使用Ebean作为后端层,mysql作为数据库。Java作为语言。 问题: 是否有CRUD模块(动态)或CRUD创建模块?我在网上查了一下,很难找到关于新游戏框架2的东西。十、 根据这条线索,没有。。。[play framework][2.0]积垢管理。 但有些答案是古老的。也许有什么事在酝酿中? 提前谢谢。