问题标签 [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-2.0 - 当架构不同于“公共”时,Evolutions 会生成不正确的 1.SQL 文件
我用注释@Table Ex 在我的所有类上指定了一个模式:@Table(name = "table_1", schema = "my_schema")
Evolutions 创建一个有错误的 1.sql 文件。索引和约束的名称包含一个点。例如:在 my_schema.table_1 (column_id) 上创建索引 ix_my_schema.table_1;
我搜索了一个解决方案来解决这个问题,但没有结果。
感谢您的帮助
scala - Play 不同子项目中的框架演变
我有一个具有不同子项目的 Play Framework 2.2 项目。一切正常,而只有其中一个子项目有 SQL 演化脚本。
现在,我正在尝试使用 SQL 演化脚本引入另一个子项目,但我看不到定义它们之间的依赖关系的方法,甚至无法同时执行它们,同时将它们保留在它们的子项目中(逻辑上它们所属的位置)。
那么,我怎样才能在不同的子模块中拥有进化脚本并让它们都执行,尊重它们之间的依赖关系呢?
谢谢!
scala - 玩:排除某些表被进化管理?
我在 MySQL 实例上有一个 Scala Play 应用程序。我将我的进化存储为conf/evolutions/$db/$step.sql
文件。但是,我的一些表是动态的,即它们的架构可能会在 Play 应用程序的运行时被修改。从 Play 的进化框架中排除这些表格的最佳方法是什么?
我有几个选择,但没有一个看起来特别优雅:
1)将所有有问题的表移动到一个单独的数据库,其中进化插件被禁用 - 这不是很好,因为我也必须将所有具有外键约束的相关表移出当前数据库。
2) 不知何故覆盖了 Play 的进化框架——不幸的是,Play 的进化框架不是模块化的,也不是可扩展的。我希望它有一些 Scala 或 Java 钩子def onUp(tableName: String)
,def onDown(tableName: String)
我可以覆盖它们,但 Play 的进化框架没有看起来那么好的抽象,而且非常单一。
3) 我知道 Play 在名为的表中创建了一个条目play_evolutions
- 我可以从我的应用程序中修改该表onStart
以手动取出所有与表相关的违规内容。这会起作用,但是非常hackish并且对Play的内部表示/模式更改的处理有很强的依赖性。
4) 只需将所有有问题的表 sql 语句移动到conf/evolutions/$db/ignore_evolution_$step.sql
- 这样这些表就脱离了进化框架的监视,但我基本上必须滚动我自己的框架来解析这些文件并执行它们。
5)还有什么我错过的吗?
postgresql - Play Framework 2.3 运行驱动程序特定演变
在本地开发和测试中,我使用的是内存中的 h2 驱动程序。在生产中,我使用的是 postgresql 驱动程序。我遇到了需要为 postgresql 运行进化查询的问题。有没有办法做到这一点?谢谢!
mysql - 即使 scala 模板发生更改,play 框架也会运行 Evolution db 脚本
考虑 A,B,C,D 是模型。A 与 D 具有一对多关系。B 与 D 具有一对多关系。B 与 c 具有一对多关系。在这个设计中,B 中有多个多对一关系。每当我在 B 中只有一个多对一关系时,它都可以正常工作。但是当我在 B 中添加额外的多对一关系时,即使 scala 模板发生更改,播放框架也会运行进化数据库脚本。
如何解决这个问题?
谢谢。
postgresql - 在 dev 中使用 H2,在 prod 中使用 Postgresql
在 Play Framework 中,我使用进化来管理数据库迁移。我还将 H2 组合用于开发和测试,将 Postgresql 用于生产。但是,H2 似乎将所有表名和列名都大写,而 Postgresql 则完全相反。
有没有办法让这两个数据库一起玩得很好?
这是我的 application.conf 的摘录:
我使用 Slick 2.1.0
playframework - 如何禁用一个数据库的进化
我有两个通过 ebean 连接的数据库的 play-java 项目。第一个数据库由进化管理,第二个数据库仅用于只读,我无权对其进行任何更新。所以我必须只为一个,第二个数据库禁用进化。
目前我花了一些时间并没有找到解决方案,只有来自 stackoveflow 的误导性建议和来自 github 站点上的 playframework 问题 cummunication 列表的混淆。据我了解,此功能将在新的尚未发布的 playframework 2.4 版中可用。
我只是想知道这里应该有某种解决方法,但我找不到任何解决方法。我有炙手可热的新功能请求,但没有看到任何解决方法。
我看到了一些相关的问题,但这些问题已经很老了。我希望从那时起有些事情发生了变化。
问候雷米斯 B
playframework - Play Framework 2.3 如何重置数据库?
在关于 Evolutions的 Play 2.3.x文档中它说
然而,在开发模式下,简单地丢弃您的开发数据库并从头重新应用所有演变通常更简单。
但是,它没有提供有关如何执行此操作的说明。我可以使用某种激活命令来执行此操作吗?如何重置和重新应用进化?
谢谢!
更新:我宁愿不必手动弄乱我的数据库,但似乎这是唯一的方法
testing - 在测试环境中应用游戏框架进化
我将我的游戏框架 jpa 设置如下:
在 application.conf 中:
持久性.xml:
我开始测试是这样的:
运行这个项目运行良好,但由于缺乏数据库演化,测试它失败了!
如何在测试环境中启用 Play Framework 进化?
我正在使用休眠 3.6