对于 play 1.x,我们可以使用 play evolutions:apply
, 我怎样才能在 play-2.0-beta 中做到这一点?
最佳答案
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/
在此文件夹中,evolutions 应存储为 sql 文件,使用evolution step 作为文件名。例如:
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
就像我在介绍中所说的那样,进化将在应用程序启动时神奇地应用。
关于playframework-2.0 - 如何在 Play Framework 2.0 中使用 Evolutions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164157/