问题标签 [umzug]

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 回答
106 浏览

amazon-web-services - 无服务器 Web 应用程序的建议数据迁移

我正在使用 API-gateway、S3、DynamoDB、Cloud Formation 构建一个无服务器 Web 应用程序……我已经到了添加一项新功能的地步,该功能需要迁移 S3 和 DynamoDB 中的一些数据。我当然可以编写一个一次性的脚本来完成这项工作,但我想知道是否有任何好的结构解决方案?

我找到了https://github.com/sequelize/umzug,但还没有深入了解。有评论吗?

我特别有兴趣了解在基础架构发生变化时数据迁移如何工作,例如,将一个 S3 存储桶中的数据迁移到新的 S3 存储桶和 DynamoDB 表中。有人有这方面的经验吗?

非常感谢!

0 投票
1 回答
542 浏览

typescript - webpack捆绑后如何解析迁移文件夹的路径

我需要将迁移文件夹的路径传递给 Umzug 配置,但它正在被 webpack 压缩,可以吗?

我尝试单独捆绑每个迁移文件,但 Umzug 说它找不到方法up()

当我尝试手动运行它们时,它们只是从 webpack 编译而来,它说没有方法up()

0 投票
0 回答
267 浏览

node.js - 如果外键约束处于活动状态,则使用 sequelize 迁移更改表的过程

我们在 nodejs 项目中使用 sequelize 和 Umzug 来进行所需的数据库更改。数据库中的所有数据都能在版本之间的迁移中幸存下来,这一点非常重要,因为我们讨论了解决方案的几个有效使用实例的迁移。

只要没有外键约束,Sequelize 就可以很好地工作。

在我们的场景中,我们有一个现有的表“devices”,它的外键约束设置为另一个表“basedata”->“id”。现在我需要删除表“设备”中的非空约束。我尝试使用以下迁移脚本执行此操作:

这失败并出现以下错误:

在我看来,sequelize 会构建已更改的表并尝试删除现有的表,然后再将新表重命名为旧名称。这将失败,因为不再满足约束。

问题:解决我必须迁移/更改具有外键约束的现有表的情况的预期方法是什么?

此致

博克森

0 投票
1 回答
498 浏览

typescript - 如何在 Umzug 迁移中从您的项目中导入内容?

我想在 Umzug 迁移中使用我的其他代码。我在 NestJS 项目中使用 Umzug 和 Sequelize。

乌姆祖格配置:

移民:

当 Umzug 在我的应用程序启动时运行时,它会打印:

所以很明显它不能导入我想要的模块。但是如何在 Umzug 迁移中导入模块呢?我知道我可以在迁移参数中传递东西,但是在不同的迁移中我需要不同的参数。

0 投票
0 回答
24 浏览

javascript - 再次测试后 Umzug 和 Sequelize 重新创建/清理数据库

我们正在使用带有 Sequelize 的 Umzug 库,我们希望将其用于测试,但我们的问题是在运行第一个测试套件后我们无法使数据库清洁。也许我们误解了它的一些原则。

在运行多个测试套件之前如何准备测试数据库,这需要重新创建完全干净的数据库并再次加载夹具?欢迎任何提示和技巧。

到目前为止我们的代码(但它不能正确清理数据库)

0 投票
0 回答
33 浏览

node.js - SQLite 使用 Docker 路径卷但不使用命名的卷

我有 Node.js 应用程序,它使用 Sequelize ORM 处理 SQLite DB 和 umzug 库进行迁移。应用程序使用 Docker 进行容器化。

当我像这样运行容器时:

一切正常,但是当我想使用命名卷时:

我收到此错误:

这是我的 Dockerfile:

任何想法可能是什么原因?也许有权限的东西?

0 投票
0 回答
43 浏览

aws-lambda - 使用 Aws Lambda 功能的 Umzug Migration UP 不起作用

我已经使用nestjs + Sequelize ORM + docker 数据库(截至目前为本地)构建了一个测试应用程序。根据文档,我正在使用 umzug 库和 AWS Lambda SAM 模板并触发 lambda 处理程序。下面是它的代码。实现连接池以重用现有的 sequelize 连接。下面是我触发 umzug.up() 函数的 lambdaEntry.ts 文件。它正在触发但不迁移文件。

从命令提示符节点向上迁移完成后,它可以正常工作。我正在使用 sam invoke 命令对其进行测试。