问题标签 [playframework-evolutions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
430 浏览

playframework - 使用 JOOQ 生成器的 Playframework Evolutions

我使用的项目使用它的生成器从数据库JOOQ生成类。Postgres数据库演变由Play Evolutions. 我们还git用作修订控制系统。当从以下位置获取新的进化/jooq 代码时,这组工具会导致某种自引用问题git

JOOQ由于缺少从这些表中生成的类而导致编译问题,因此无法应用其他团队成员创建的新表的演变。

我正在考虑以下解决方案:

  1. 应用 sbt 的演变 - 创建 sbt 任务 - 到目前为止未能实施,
  2. 在 db 上手动应用进化(复制粘贴脚本) - 没有意义。

堆:

  • 播放框架 2.3.8
  • Jooq 3.5.3
  • 爪哇 8

请指教。

0 投票
1 回答
566 浏览

playframework - Play Framework DML 插入脚本

我正在使用带有 Slick 和内存 H2 数据库的 Play Framework 2.3。当我启动应用程序时,我不仅想从进化脚本创建数据库,还想插入一些默认数据。Play 文档中似乎没有涵盖此主题。

0 投票
1 回答
429 浏览

scala - Scala play 进化重复应用

我正在使用 Scala play evolutions 并在 application.conf 中有这个

我也有这个 sql 脚本在一次进化中

但是,当我在 PROD 模式下启动 Play2 时,我总是会收到此错误

当我在启动 app play_evolutions 行之前检查数据库时,相应脚本上的状态为“已应用”,但在启动后,它变为“applying_up”,看起来进化每次都在一遍又一遍地开始。我怎样才能只应用“新”进化而不是从一开始就应用每一个进化?现在它很痛苦,因为当我向表中添加新列时,我还需要使用“向下”脚本来首先删除该列,并使用“向上”脚本来添加该列,但这会导致该列上的所有数据也被删除生产数据库。我错过了进化的东西吗?(对我来说,“进化”应该只在上次结束时才继续,而不是每次都从头开始)。

谢谢

0 投票
2 回答
789 浏览

mysql - 玩!框架 - Evolution 不会在带有 MySQL 的服务器上自动启动

在服务器上启动我的应用程序后,它会连接到我的 MySQL 数据库。

但是每次涉及数据库时它都会崩溃。

进化脚本没有应用,但是当我第一次加载页面时,它不能应用,因为没有可能这样做。

我尝试使用常规技巧自动应用进化脚本:

但是现在我想不通了。也许有一些我自己看不到的完全简单的东西?感谢您的每一个回答!

0 投票
1 回答
859 浏览

postgresql - 为什么 Play Framework 中的进化不起作用?

我正在使用 Play 2.3 并尝试通过进化为 PostgreSQL 9.4 生成关系数据库。

我的conf/evolutions/default/1.sql脚本中有以下语句:

以下是我的事件表描述:

当我在浏览器中启动应用程序时,出现此错误:

在尝试运行此 SQL 脚本时,我们收到以下错误:

有什么问题?如何修复此错误并添加外键约束?

请注意,它在没有外键约束的情况下按如下方式生成数据库轮次。

0 投票
1 回答
1471 浏览

scala - 插入具有自动增量 id 的行 - Playframework Scala - Slick

我的进化之一包含一个非常简单的带有BIGSERIAL列的表定义:

我用来SlickCodeGenerator从数据库本身生成类:

我想在Product没有 id 的表中插入一行,这样它将由数据库生成。问题ProductRow.id不是可选的。大多数解决方案都建议向Product类添加新方法,但是我不能触摸生成的源,slick因为更改可能随时丢失。有没有办法使用此类生成的文件插入没有 ID 的行?

我用Slick 3.0, Playframework 2.4.1

编辑:发送虚拟 id 解决了这个问题,但是它在网络上是多余的。我正在寻找类似的东西:insert into product(name, color) values('name', 'color')

0 投票
1 回答
108 浏览

java - Play 2.0 Evolution for datomic

我正在使用Play 2.0 frameworkDatomic坚持。到目前为止,我们通常手动安装数据库(并运行迁移),即通过*.edn从 groovy 脚本中读取文件的模式。

现在,我想将我的迁移转移到“进化”,最好的方法是什么?所以我只想知道:

  1. 如何为 nosql 数据库(或持久性)设置进化
  2. 如何编写脚本?
  3. 如何为这些数据库运行进化?
0 投票
2 回答
708 浏览

hibernate - Play Framework 2.4 中的 Play Evolutions 和 JPA

我将 Play 项目从 2.3.4 版本迁移到 2.4.2。这些项目使用 JPA (Hibernate) 和 Evolutions。我有一个初始的 Evolutions SQL 脚本,它用一些示例数据填充数据库。这个脚本现在不再工作了,因为 Evolutions 脚本现在在 Hibernate 生成表之前执行,这显然会导致错误。这是理想的行为吗?有没有办法改变执行顺序?

0 投票
0 回答
198 浏览

scala - 如何在自定义 ApplicationLoader 中加载 Play Evolutions 模块?

我在 Play 2.4 中使用 Play-Slick 和 Play-Slick-Evolutions 模块,我编写了一个非常简单的自定义ApplicationLoader,如下所示:

问题是没有应用 Evolutions 脚本。我认为这不是配置问题,因为当我使用ApplicationLoaderPlay 提供的默认设置时,会出现 Evolutions 应用屏幕。

有没有办法在自定义中初始化 Evolutions 模块ApplicationLoader

0 投票
2 回答
269 浏览

postgresql - 播放进化转义表名

我有 Play!Framework 与数据库一起运行jdbcPostgresql作为数据库运行。我想为开发使用启用进化。

Play 似乎不会自动转义表名。例如,在创建名为 的表时user,我似乎无法自动创建表,因为user它是 SQL 中的保留字。

Play 会产生这样的进化:

有没有办法自动转义表名?

谢谢