【问题标题】:How can I use node-pg-migrate with independent lanes of migrations?如何将 node-pg-migrate 与独立的迁移通道一起使用?
【发布时间】:2018-09-05 00:27:22
【问题描述】:

目前,迁移脚本 (node-pg-migrate) 构建了从零到一切的整个数据库。它是一个新系统的数据库,它将取代旧系统。数据需要从遗留系统导入到新数据库。它们具有完全不同的数据结构。

迁移脚本使用从旧系统(使用其 Web 服务)导入的原始数据构建 import 架构。然后创建所有其他模式及其表、函数和所有内容。主要是 data 架构,其数据从 import 架构转换而来,可用于新系统。 api 架构具有通过 postgREST 公开的视图和函数,处理来自 data 架构的数据。还有一些辅助模式和东西。

现在,要导入的数据还没有最终确定,所以我需要经常重新导入。为此,我需要一直向下迁移,在向下迁移时删除所有其他模式,以进入删除所有导入数据并删除import 模式的迁移步骤。然后再往上走,把数据一路往上导入,重新构建所有的模式,再有一个工作的api。

我马上就要回答我的问题了……我很确定我需要将导入数据脚本从迁移中移开,这样我就不需要解构和重建整个数据库及其所有模式。理想情况下,我想独立运行导入脚本和模式脚本。使用node-pg-migrate 确实很方便,也可以用于导入数据。

如何将 node-pg-migrate 与独立的迁移通道一起使用?一种用于导入(或 dml 更改),另一种用于架构更改(或 ddl 更改)。

相关:

更新:我刚刚发现解决方案可能位于由 node-db-migrate 实现的scope 区域。我正在使用node-pg-migrate...

【问题讨论】:

    标签: node.js postgresql database-migration


    【解决方案1】:

    node-pg-migrate 不支持通道,例如db-migrate。但是您可以以某种方式模拟 IMO,您将使用单独的迁移文件夹和表:

    node-pg-migrate -m migrations/dll -t pgmigrations_dll

    node-pg-migrate -m migrations/dml -t pgmigrations_dml

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-25
      • 1970-01-01
      • 2019-04-03
      • 2019-04-02
      • 1970-01-01
      • 2021-02-07
      • 2019-03-09
      • 2019-11-30
      相关资源
      最近更新 更多