【问题标题】:Ordering Play Evolutions on Multiple Databases在多个数据库上排序 Play Evolution
【发布时间】:2014-02-11 00:51:45
【问题描述】:

我有一个环境,我使用多个数据库(A 和 B),每个数据库都有不同的演变集,到目前为止完全成功。但是,总是先应用一组数据库演化,B 数据库的所有演化都在 A 数据库的任何演化之前应用。

我们正在进行一些重大的重组,这导致了一些跨数据库查询以将数据库 B 移动到未来,但是由于数据库 B 的演变首先运行,因此对数据库 A 的更改尚未发生,并且进化失败。

有没有什么方法可以改变/确定在使用不同演化集的多个数据库之间应用数据库演化的顺序?

【问题讨论】:

  • 是否可以先打开你想应用进化的数据库,然后关闭另一个?

标签: playframework playframework-2.2 playframework-evolutions


【解决方案1】:

不幸的是,我认为目前没有办法做到这一点。玩简单的iterates over the databases 并运行他们每个人的进化:

    dbApi.databases().foreach(runEvolutions)

数据库序列来自于配置映射,因此您无法保证读取它的顺序。

我认为您最好的选择是在多个步骤中运行演变,而不在每个步骤之间进行重大更改。迁移完成后,您进行另一次演变以清理移动的列/表。

【讨论】:

    猜你喜欢
    • 2015-09-24
    • 2017-10-01
    • 1970-01-01
    • 2015-04-15
    • 2020-08-17
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多