playframework-2.0 - 如何在 Play Framework 2.0 中使用 Evolutions?

标签 playframework-2.0

对于 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/

相关文章:

java - 将一对 @ManyToOne 相关属性标记为唯一。可能的?

forms - 如何在Play中处理长格式和不同格式! Scala表格?

playframework-2.0 - java play framework 2.1.3 如何检索路由对象

postgresql - 重启 Heroku Postgres Dev DB

java - 改为 Play Framework : type Integer is deprecated: use java. lang.Integer

playframework - Play Framework 2.1 模板上的动态路由

java - 无法连接到 MySQL 并在 Play Framework 2.4 中执行操作

java - 使用 websocket 从多个设备聊天

java - Play Framework -- 添加新目录到类路径

scala - 如何使路由方法在 Play 2.x 子项目中起作用?