对于 play 1.x,我们可以使用play evolutions:apply
, 如何在 play-2.0-beta 中做到这一点?
问问题
7809 次
1 回答
11
Evolution:apply 在应用程序启动时自动运行。Play 2.0-rc1 中缺少的是一种生成进化脚本的方法,并从 SBT 控制台手动应用它们。
但这里是如何手动创建它们。
假设您在application.conf
db.mydb.driver=org.h2.Driver
db.mydb.url=jdbc:h2:mem:play
Play2 将在以下文件夹中查找进化:application/db/evolutions/mydb/
在该文件夹中,进化应存储为 sql 文件,使用进化步骤作为文件名。
例如:
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
就像我在介绍中所说,进化将在应用程序启动时神奇地应用。
于 2011-11-25T21:43:50.300 回答