Play 2 evolutions应用blob和bytea进行测试和制作

时间:2012-05-30 19:34:44

标签: heroku playframework-2.0 postgresql-9.1 ebean playframework-evolutions

我在play 2.0下创建了一个bean,evolutions会为我创建一个1.sql DDL。

这是实体包含blob类型:

@Entity
@Table(name="image_info")
public class ImageInfo extends Model {

    .......

    @Constraints.Required
    private Blob image;

    .......
}

它创建了这个DDL。

create table image_info (
  id                        bigint not null,
  image                     blob)

它适用于H2 db,但不适用于Heroku Postgres。我怎样才能使演变自动化以创建单独的DDL?

1 个答案:

答案 0 :(得分:2)

application.conf中,您可以定义许多服务器并决定每个model所属的服务器:

ebean.orders="models.Order,models.OrderItem"
ebean.customers="models.Customer,models.Address"

然后您可以使用此技术自动构建DDL

# the default is some config of postgress
ebean.default="models.*"

# h2
ebean.mylocalh2="models.*"

它会起作用,但是我担心你需要在本地安装Postgres(注意 - 我用MySQL检查过这个技巧 - 没有本地PG),所以在这种情况下可能会更容易更好地在与目标环境非常相似的环境中开发应用程序(通常总是最佳选择)。