问题标签 [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.
playframework - 使用 JOOQ 生成器的 Playframework Evolutions
我使用的项目使用它的生成器从数据库JOOQ
生成类。Postgres
数据库演变由Play Evolutions
. 我们还git
用作修订控制系统。当从以下位置获取新的进化/jooq 代码时,这组工具会导致某种自引用问题git
:
JOOQ
由于缺少从这些表中生成的类而导致编译问题,因此无法应用其他团队成员创建的新表的演变。
我正在考虑以下解决方案:
- 应用 sbt 的演变 - 创建 sbt 任务 - 到目前为止未能实施,
- 在 db 上手动应用进化(复制粘贴脚本) - 没有意义。
堆:
- 播放框架 2.3.8
- Jooq 3.5.3
- 爪哇 8
请指教。
playframework - Play Framework DML 插入脚本
我正在使用带有 Slick 和内存 H2 数据库的 Play Framework 2.3。当我启动应用程序时,我不仅想从进化脚本创建数据库,还想插入一些默认数据。Play 文档中似乎没有涵盖此主题。
scala - Scala play 进化重复应用
我正在使用 Scala play evolutions 并在 application.conf 中有这个
我也有这个 sql 脚本在一次进化中
但是,当我在 PROD 模式下启动 Play2 时,我总是会收到此错误
当我在启动 app play_evolutions 行之前检查数据库时,相应脚本上的状态为“已应用”,但在启动后,它变为“applying_up”,看起来进化每次都在一遍又一遍地开始。我怎样才能只应用“新”进化而不是从一开始就应用每一个进化?现在它很痛苦,因为当我向表中添加新列时,我还需要使用“向下”脚本来首先删除该列,并使用“向上”脚本来添加该列,但这会导致该列上的所有数据也被删除生产数据库。我错过了进化的东西吗?(对我来说,“进化”应该只在上次结束时才继续,而不是每次都从头开始)。
谢谢
mysql - 玩!框架 - Evolution 不会在带有 MySQL 的服务器上自动启动
在服务器上启动我的应用程序后,它会连接到我的 MySQL 数据库。
但是每次涉及数据库时它都会崩溃。
进化脚本没有应用,但是当我第一次加载页面时,它不能应用,因为没有可能这样做。
我尝试使用常规技巧自动应用进化脚本:
但是现在我想不通了。也许有一些我自己看不到的完全简单的东西?感谢您的每一个回答!
postgresql - 为什么 Play Framework 中的进化不起作用?
我正在使用 Play 2.3 并尝试通过进化为 PostgreSQL 9.4 生成关系数据库。
我的conf/evolutions/default/1.sql
脚本中有以下语句:
以下是我的事件表描述:
当我在浏览器中启动应用程序时,出现此错误:
在尝试运行此 SQL 脚本时,我们收到以下错误:
有什么问题?如何修复此错误并添加外键约束?
请注意,它在没有外键约束的情况下按如下方式生成数据库轮次。
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')
。
java - Play 2.0 Evolution for datomic
我正在使用Play 2.0 framework
和Datomic
坚持。到目前为止,我们通常手动安装数据库(并运行迁移),即通过*.edn
从 groovy 脚本中读取文件的模式。
现在,我想将我的迁移转移到“进化”,最好的方法是什么?所以我只想知道:
- 如何为 nosql 数据库(或持久性)设置进化
- 如何编写脚本?
- 如何为这些数据库运行进化?
hibernate - Play Framework 2.4 中的 Play Evolutions 和 JPA
我将 Play 项目从 2.3.4 版本迁移到 2.4.2。这些项目使用 JPA (Hibernate) 和 Evolutions。我有一个初始的 Evolutions SQL 脚本,它用一些示例数据填充数据库。这个脚本现在不再工作了,因为 Evolutions 脚本现在在 Hibernate 生成表之前执行,这显然会导致错误。这是理想的行为吗?有没有办法改变执行顺序?
scala - 如何在自定义 ApplicationLoader 中加载 Play Evolutions 模块?
我在 Play 2.4 中使用 Play-Slick 和 Play-Slick-Evolutions 模块,我编写了一个非常简单的自定义ApplicationLoader
,如下所示:
问题是没有应用 Evolutions 脚本。我认为这不是配置问题,因为当我使用ApplicationLoader
Play 提供的默认设置时,会出现 Evolutions 应用屏幕。
有没有办法在自定义中初始化 Evolutions 模块ApplicationLoader
?
postgresql - 播放进化转义表名
我有 Play!Framework 与数据库一起运行jdbc
并Postgresql
作为数据库运行。我想为开发使用启用进化。
Play 似乎不会自动转义表名。例如,在创建名为 的表时user
,我似乎无法自动创建表,因为user
它是 SQL 中的保留字。
Play 会产生这样的进化:
有没有办法自动转义表名?
谢谢