gpt4 book ai didi

playframework - Play Framework 2.0 : H2 DB evolution with a simple model

转载 作者:行者123 更新时间:2023-12-04 05:58:26 24 4
gpt4 key购买 nike

我尝试创建一个简单的 Controller /模型(基于 play 2.0 的示例代码)并收到有关数据库演变的消息:

Database 'default' needs evolution!

An SQL script will be run on your database - "Apply this script now"

1 # --- Rev:1,Ups - fbdc2fd
2 create table group (
3 id bigint not null,
4 name varchar(255),
5 description varchar(255),
6 due_date timestamp,
7 constraint pk_group primary key (id))
8 ;
9
10 create sequence group_seq;

但是当点击按钮时,我得到了以下错误信息:

Database 'default' is in inconsistent state!

An evolution has not been applied properly. Please check the problem and resolve it manually before making it as resolved

We got the following error: SQLステートメントに文法エラーがあります "CREATE TABLE GROUP[*] ( ID BIGINT NOT NULL, NAME VARCHAR(255), DESCRIPTION VARCHAR(255), DUE_DATE TIMESTAMP, CONSTRAINT PK_GROUP PRIMARY KEY (ID)) "; 期待されるステートメント "identifier" Syntax error in SQL statement "CREATE TABLE GROUP[*] ( ID BIGINT NOT NULL, NAME VARCHAR(255), DESCRIPTION VARCHAR(255), DUE_DATE TIMESTAMP, CONSTRAINT PK_GROUP PRIMARY KEY (ID)) "; expected "identifier"; SQL statement: create table group ( id bigint not null, name varchar(255), description varchar(255), due_date timestamp, constraint pk_group primary key (id)) [42001-158] [ERROR:42001, SQLSTATE:42001], while trying to run this SQL script:

1# --- Rev:1,Ups - fbdc2fd
2
3 create table group (
4 id bigint not null,
5 name varchar(255),
6 description varchar(255),
7 due_date timestamp,
8 constraint pk_group primary key (id))
9 ;
10
11 create sequence group_seq;

我的配置文件

#DB setting
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"

# Ebean configuration
ebean.default="models.*"

我的 Controller

public class Application extends Controller {

/**
*
* @return
*/
public static Result index() {

Group g = new Group("New group Test","This is a test !");
g.save();

return ok(index.render("Render page"));
}

}

最后是我的模型:

@Entity
public class Group extends Model {

public static Finder<Long,Group> find = new Finder (Long.class, Group.class);

@Id
public Long id;

@Required
public String name;

@Required
public String description;

@DateTime(pattern = "MM/dd/yy")
public Date dueDate;


/**
* ToString method
*/
public String toString() {
return "Group(" + id + ") in project " + name;
}


/**
* Constructor
* @param name
* @param description
*/
public Group(String name, String description){
this.name=name;
this.description=description;
}

}

有人遇到过同样的问题吗?谢谢!

最佳答案

可能是您的表(组)的名称有问题,因为它是一个 SQL 关键字。尝试引用表名(“组”)或测试如果您使用不同的表名会发生什么。

关于playframework - Play Framework 2.0 : H2 DB evolution with a simple model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960198/

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