问题标签 [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 投票
1 回答
291 浏览

playframework - 即使关闭,Play Framework 2.4 应用程序也始终创建 1.sql 演变

我正在将 Play Framework 应用程序从版本 2.3.X 转换为 2.4.X。

除了一件事,一切都在工作。每次启动服务器时都会创建一个文件。

该文件是/conf/evolutions/default/1.sql

奇怪的是我不使用进化。我仍然保留该evolutions文件夹以跟踪我的 sql 转换文件(我自己编码)。

在我的 application.conf 文件中,这就是我与进化相关的内容。我知道他们都做同样的事情,但即使有这两条线,问题仍然存在。

有没有什么地方可以防止这种情况发生?我在 2.3.X 版本中没有这个问题。

谢谢

0 投票
1 回答
482 浏览

playframework-2.5 - 如何使 Playframework Evolutions 日志记录更详细?

我一直在试图看看他们发生了什么,因为我正面临一个问题。当我单击“应用此脚本”按钮时,要求我应用脚本的页面再次出现,并且卡在该循环中。它创建“play_evolutions”表,但不运行任何脚本。

控制台中的日志没有给我任何相关信息。我已经手动运行了脚本,没关系...所以我不知道真正的问题是什么,因此我需要更多的日志记录。

0 投票
1 回答
1178 浏览

scala - 未找到表“play_evolutions”

我有一个这样配置的基本开发数据库:

我添加了一个脚本来从数据库中创建表conf/evolutions/default/1.sql

当启动应用程序sbt run并转到任何页面时,Play 要求我应用脚本1.sql。按下按钮后,我收到以下错误:

游戏框架不应该已经创建了这个吗?

版本:

0 投票
0 回答
728 浏览

playframework - Play-slick:如何记录进化?

我想通过记录诸如“应用进化文件 3.sql”之类的内容,甚至整个 SQL 代码来确保我所有的进化文件都正确运行(由我的 CI 代理,它似乎无法读取多个文件)运行以应用演变。

如何使该信息出现在控制台日志中?

我正在使用 play-slick(记录器可能不同?)。我尝试将此添加到该# --- !UPS部分

以及在“application.conf”中:

以及“logback.xml”中的不同类型的东西,但没有成功(我可以打印我所有的 DAO 查询,但不能打印演变)。

这是我的“logback.xml”的相关部分。Slick 仅记录我的 DAO 的查询。三个“jdbcdslog”什么都不做,而 Hikari 一个只记录连接。我将“play.api.db.evolutions”记录器设置DEBUG这个答案,但它也没有效果。

0 投票
1 回答
50 浏览

playframework - 有没有办法在 Play 中选择进化文件的名称?

我正在使用 Play 的进化!(2.5)并且由于我的项目正在增长,我以一个 23.sql 文件结束(在我的 evolutions conf 文件夹中的 22 个 n.sql 文件之后)。

检索信息开始变得困难。

有没有办法以不同的方式命名这些文件,例如 addEventTable.sql 而不是 24.sql?

0 投票
1 回答
1341 浏览

scala - 播放框架演变未运行

我正在尝试使用 slick 运行带有 postgresql 数据库的 Play framework 2.5 应用程序。但是在我将 1.sql 添加到 conf/evolutions/default 之后,没有检测到进化。我究竟做错了什么?

应用程序.conf

构建.sbt

1.sql

0 投票
0 回答
93 浏览

playframework - 从 Play 2.4.6 迁移到 Play 2.5.9 Evolutions 问题

我正在尝试将 Play 2.4.6 迁移到 Play 2.5.9。我正在使用这个种子模板 https://github.com/mariussoutier/play-angular-require-seed

我面临着 Evolutions 的问题。当我启动服务器时。它试图应用所有 SQL 文件 downs 然后 Ups

Play 2.5.9 似乎出了什么问题。早些时候我曾尝试迁移到 2.5.14 并且有大量的内存泄漏和线程正在创建。播放 Scala Slick 3.0 连接池问题 | Play 2.4 与 Play 2.5 的问题

我的依赖 build.sbt 文件如下所示

0 投票
0 回答
138 浏览

scala - Slick evolutions with transactions

I have a question about using Play + Slick, and the slick evolutions.

Someone told me to always wrap the evolutions statements in a transaction (in order not to leave the DB with half evolution applied). In the case we were seeing, with Postgres it would mean to start the Up/Down with a BEGIN; and end with a COMMIT;

1st I find it hard to remember in every evolution to put those keywords.

2nd I find it hard to believe that play/slick doesn't already have an option/configuration to do that.

So, is there any way to make play/slick to wrap every evolution in a transaction in order not to leave an evolution half applied? (I saw the autocommit config but not sure if that's what I want: https://www.playframework.com/documentation/2.5.x/Evolutions#Evolutions-configuration)

ps: using Play 2.4.x with slick 2.1.0, if relevant (but would also like to know about other versions)

0 投票
2 回答
1913 浏览

scala - 在 play-framework 中运行测试时如何应用 play-evolutions?

在使用游戏框架中运行测试时,我遇到了进化问题

  • scala 的 playframework v2.6.6
  • 玩滑 v3.0.2
  • play-slick-evolutions v3.0.2

测试看起来像这样:

数据库配置如下所示:

假设有一个创建表的进化脚本,foos并且该脚本在开发模式下工作正常。

运行测试时会抛出以下错误:

play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[JdbcSQLException: Table "foos" not found;

foos找不到该表,因此我假设尚未应用数据库演变。

然后我将数据库配置更改为在开发模式下使用的 postgresql。

使用此配置,测试工作正常,数据存储在数据库中,因此数据库演变运行良好。

现在的问题是,数据库在测试后没有清理。我想用干净的数据库运行每个测试套件。

总结一下。不应用 H2Db 进化,应用 postgresql 进化但未清理。

即使这明确定义在application.test.conf

我也试过

没有效果。

然后我尝试通过以下方式手动执行此操作:

然后将测试更改为:

对于H2数据库配置无效,同样报foos找不到table的错误。对于 postgresql 数据库配置,会抛出进化异常

play.api.db.evolutions.InconsistentDatabase: Database 'default' is in an inconsistent state![An evolution has not been applied properly. Please check the problem and resolve it manually before marking it as resolved.]

我希望在每个测试套件之前运行进化上升,并在每个测试套件之后运行进化下降。如何做到这一点?

0 投票
1 回答
640 浏览

java - Java Play 部署错误

当我尝试运行通过运行“activator dist”命令创建的 bat 文件时,出现以下异常。

但是当我在我的机器上执行时,这运行良好。我在这里做错了什么?我尝试过更改端口,但仍然没有运气。下面是我用来运行 bat 文件的命令。

任何帮助将非常感激。