问题标签 [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.
amazon-web-services - 无服务器 Web 应用程序的建议数据迁移
我正在使用 API-gateway、S3、DynamoDB、Cloud Formation 构建一个无服务器 Web 应用程序……我已经到了添加一项新功能的地步,该功能需要迁移 S3 和 DynamoDB 中的一些数据。我当然可以编写一个一次性的脚本来完成这项工作,但我想知道是否有任何好的结构解决方案?
我找到了https://github.com/sequelize/umzug,但还没有深入了解。有评论吗?
我特别有兴趣了解在基础架构发生变化时数据迁移如何工作,例如,将一个 S3 存储桶中的数据迁移到新的 S3 存储桶和 DynamoDB 表中。有人有这方面的经验吗?
非常感谢!
typescript - webpack捆绑后如何解析迁移文件夹的路径
我需要将迁移文件夹的路径传递给 Umzug 配置,但它正在被 webpack 压缩,可以吗?
我尝试单独捆绑每个迁移文件,但 Umzug 说它找不到方法up()
。
当我尝试手动运行它们时,它们只是从 webpack 编译而来,它说没有方法up()
。
node.js - 如果外键约束处于活动状态,则使用 sequelize 迁移更改表的过程
我们在 nodejs 项目中使用 sequelize 和 Umzug 来进行所需的数据库更改。数据库中的所有数据都能在版本之间的迁移中幸存下来,这一点非常重要,因为我们讨论了解决方案的几个有效使用实例的迁移。
只要没有外键约束,Sequelize 就可以很好地工作。
在我们的场景中,我们有一个现有的表“devices”,它的外键约束设置为另一个表“basedata”->“id”。现在我需要删除表“设备”中的非空约束。我尝试使用以下迁移脚本执行此操作:
这失败并出现以下错误:
在我看来,sequelize 会构建已更改的表并尝试删除现有的表,然后再将新表重命名为旧名称。这将失败,因为不再满足约束。
问题:解决我必须迁移/更改具有外键约束的现有表的情况的预期方法是什么?
此致
博克森
typescript - 如何在 Umzug 迁移中从您的项目中导入内容?
我想在 Umzug 迁移中使用我的其他代码。我在 NestJS 项目中使用 Umzug 和 Sequelize。
乌姆祖格配置:
移民:
当 Umzug 在我的应用程序启动时运行时,它会打印:
所以很明显它不能导入我想要的模块。但是如何在 Umzug 迁移中导入模块呢?我知道我可以在迁移参数中传递东西,但是在不同的迁移中我需要不同的参数。
javascript - 再次测试后 Umzug 和 Sequelize 重新创建/清理数据库
我们正在使用带有 Sequelize 的 Umzug 库,我们希望将其用于测试,但我们的问题是在运行第一个测试套件后我们无法使数据库清洁。也许我们误解了它的一些原则。
在运行多个测试套件之前如何准备测试数据库,这需要重新创建完全干净的数据库并再次加载夹具?欢迎任何提示和技巧。
到目前为止我们的代码(但它不能正确清理数据库)
node.js - SQLite 使用 Docker 路径卷但不使用命名的卷
我有 Node.js 应用程序,它使用 Sequelize ORM 处理 SQLite DB 和 umzug 库进行迁移。应用程序使用 Docker 进行容器化。
当我像这样运行容器时:
一切正常,但是当我想使用命名卷时:
我收到此错误:
这是我的 Dockerfile:
任何想法可能是什么原因?也许有权限的东西?
aws-lambda - 使用 Aws Lambda 功能的 Umzug Migration UP 不起作用
我已经使用nestjs + Sequelize ORM + docker 数据库(截至目前为本地)构建了一个测试应用程序。根据文档,我正在使用 umzug 库和 AWS Lambda SAM 模板并触发 lambda 处理程序。下面是它的代码。实现连接池以重用现有的 sequelize 连接。下面是我触发 umzug.up() 函数的 lambdaEntry.ts 文件。它正在触发但不迁移文件。
从命令提示符节点向上迁移完成后,它可以正常工作。我正在使用 sam invoke 命令对其进行测试。