How/Where 到 运行 续集无服务器项目中的迁移?
How/Where to run sequelize migrations in a serverless project?
我正在尝试将 Sequelize js 与 Serverless 结合使用,来自传统服务器背景,我对 where/how 到 运行 数据库迁移感到困惑。
我应该为 运行ning 迁移创建一个专用函数还是有任何其他 运行ning 迁移的方法?
Lambda 函数旨在在必要时供 运行 使用。当您期望多次执行时部署它们。
为什么要为迁移任务创建 Lambda 函数?应用数据库迁移是一项维护任务,每个迁移 ID 只应执行一次。如果您不想多次执行相同的 SQL 脚本,我认为您应该避免为此目的创建 Lambda 函数。
在这种情况下,我会使用命令行工具连接该数据库并执行相应的任务。您也可以为此 运行 一个 Node.js 脚本,但是创建一个 Lambda 来执行该脚本然后删除这个 Lambda 听起来很奇怪,只有当您不能直接访问该数据库时才应使用。
几天前,我在构建一个无服务器项目时发现自己遇到了同样的问题,所以我决定开发一个简单的无服务器插件来通过 CLI 管理 sequelize 迁移。
使用该插件您可以:
- 创建迁移文件
- 列出待处理和已执行的迁移
- 应用挂起的迁移
- 还原已应用的迁移
- 重置所有应用的迁移
我知道这个问题大约是两年前发布的,但是对于那些一直来这里寻找答案的人来说,这个插件可能会有帮助。
代码和使用说明在 plugin repository on github and plugin page on npm。
要通过 npm 直接在您的项目上安装插件,您可以 运行:
npm install --save serverless-sequelize-migrations
我正在尝试将 Sequelize js 与 Serverless 结合使用,来自传统服务器背景,我对 where/how 到 运行 数据库迁移感到困惑。
我应该为 运行ning 迁移创建一个专用函数还是有任何其他 运行ning 迁移的方法?
Lambda 函数旨在在必要时供 运行 使用。当您期望多次执行时部署它们。
为什么要为迁移任务创建 Lambda 函数?应用数据库迁移是一项维护任务,每个迁移 ID 只应执行一次。如果您不想多次执行相同的 SQL 脚本,我认为您应该避免为此目的创建 Lambda 函数。
在这种情况下,我会使用命令行工具连接该数据库并执行相应的任务。您也可以为此 运行 一个 Node.js 脚本,但是创建一个 Lambda 来执行该脚本然后删除这个 Lambda 听起来很奇怪,只有当您不能直接访问该数据库时才应使用。
几天前,我在构建一个无服务器项目时发现自己遇到了同样的问题,所以我决定开发一个简单的无服务器插件来通过 CLI 管理 sequelize 迁移。
使用该插件您可以:
- 创建迁移文件
- 列出待处理和已执行的迁移
- 应用挂起的迁移
- 还原已应用的迁移
- 重置所有应用的迁移
我知道这个问题大约是两年前发布的,但是对于那些一直来这里寻找答案的人来说,这个插件可能会有帮助。
代码和使用说明在 plugin repository on github and plugin page on npm。
要通过 npm 直接在您的项目上安装插件,您可以 运行:
npm install --save serverless-sequelize-migrations