在删除或更新模型名称时播放框架演变问题

时间:2014-11-12 12:19:41

标签: java playframework playframework-2.0

我在游戏框架中了解进化的一个大问题,

当我制作一个名为"问题"然后跟着进化出现

# --- !Ups

create table questions (
Id                        varchar(255) not null,
question                  varchar(255),
constraint pk_questions primary key (Id))
;

# --- !Downs

SET FOREIGN_KEY_CHECKS=0;

drop table questions;

SET FOREIGN_KEY_CHECKS=1;

现在,当我删除这个模型并制作一个名为“问题”时,那么进化也保持不变,

# --- !Ups

create table questions (
Id                        varchar(255) not null,
question                  varchar(255),
constraint pk_questions primary key (Id))
;

# --- !Downs

SET FOREIGN_KEY_CHECKS=0;

drop table questions;

SET FOREIGN_KEY_CHECKS=1;

当我下次更新问题时,它会显示类似这样的内容(删除问题变量)

create table questions (
Id                        varchar(255) not null,
question                  varchar(255),
constraint pk_questions primary key (Id))
;

create table questions (
Id                        varchar(255) not null,

constraint pk_questions primary key (Id))
;
# --- !Downs

SET FOREIGN_KEY_CHECKS=0;

drop table questions;

drop table questions;

SET FOREIGN_KEY_CHECKS=1;

为什么还要更新表名呢?没有我能找到的相关文件,所以这是我最后的希望:(。

1 个答案:

答案 0 :(得分:0)

你有两个课:问题和问题?如果是这种情况,则将其视为不良做法,您应该以其他格式重命名。所有课程都应以大写字母开头。这应该可以解决您的问题。 如果您对ebean生成的表的名称不满意,请在您的类上使用此批注:

@Table(name="whatever_name_i_want")  
class MyClass
{
}

我建议你只使用小写表名(某些数据库不区分大小写)。

表名是相同的,第一个字母是大写或小写的事实是因为ebean将驼峰案例类名转换为蛇案例表名。 在蛇案中,所有字母都是小写字母。