对于play 1.x,我们可以使用play evolutions:apply
,我怎样才能在play-2.0-beta中使用它?
答案 0 :(得分:11)
Evolution:应用程序在应用程序启动时自动运行。 Play 2.0-rc1中缺少的是一种生成evolutions脚本并从SBT控制台手动应用它们的方法。
但是这里是如何手动创建它们。
假设您在application.conf
db.mydb.driver=org.h2.Driver
db.mydb.url=jdbc:h2:mem:play
Play2将在以下文件夹中查找进化:application/db/evolutions/mydb/
在此文件夹中,evolutions应存储为sql文件,使用evolution步骤作为文件名。
例如:
application/db/evolutions/mydb/1.sql
application/db/evolutions/mydb/2.sql
application/db/evolutions/mydb/3.sql
现在sql本身具有以下结构:
# --- !Ups
create table company (
id bigint not null,
name varchar(255),
constraint pk_company primary key (id));
# --- !Downs
drop table if exists company;
!Ups 用于将模型升级到下一个演变
!Downs 用于还原!Ups
就像我在介绍中所说的那样,演变将在应用程序启动时神奇地应用。