node.js - 我应该如何为我的 AWS 无服务器应用程序迁移(更新数据库架构)我的数据库
问题描述
我应该如何在 AWS 无服务器应用程序中运行我的数据库迁移?在传统的 NodeJS 应用程序中,我通常先npm start
运行sequelize db:migrate
。但是使用 Lambda 我应该怎么做呢?
我的数据库将位于私有子网中。想知道 CodeBuild 是否能够做到这一点?还在考虑让 Lambda 函数运行迁移……不确定是否推荐。
解决方案
有多种方法可以实现这一目标。实际上,您在 CodeBuild 方面走在了正确的轨道上,至少采用这种方法应该没有任何问题。
由于您的数据库位于私有子网中,因此您需要配置 CodeBuild 以访问您的 VPC。配置完成后,允许从 CodeBuild 安全组访问您的数据库就很简单了。
您可能希望将整个事情设置为CodePipeline。您甚至可以为 CodeBuild 的不同运行设置多个构建规范文件。这样您就可以拥有一个如下所示的 CodePipeline:
Source -> CodeBuild (test) -> Approval -> CodeBuild (migrations) -> Lambda
从理论上讲,您还可以创建一个执行迁移的 Lambda 函数,并根据需要触发它。如果迁移需要很长时间,您还可以使用 AWS Batch 来运行它们。但是将 CodeBuild 用作部署管道的一部分非常有意义。
推荐阅读
- python - How Can I Detect If There are Secondary Objects in an Image
- javascript - The Console Log Display issue
- angular - Mapbox GeoJSON line with Angular
- javascript - 努力理解这个多层 for 循环是如何工作的
- replace - 用大 UTF8 文件中间的单字节代码点(例如空格)替换多字节字符
- python - 如何在地图上画圆圈?
- java - Google FooBar 挑战显示 Blacklisted_Code 错误
- ansible - 无论如何要通过 when 子句忽略播放和/或其任务输出?
- android - 应用程序未从 Android 10 上的前台服务发送位置
- c# - 无法从 Linq 转换 OData V4 .NET 核心嵌套属性