我正在尝试将 Sequelize js 与无服务器一起使用,来自传统服务器背景,我很困惑在哪里/如何运行数据库迁移。
我应该为运行迁移创建一个专用函数还是有其他运行迁移的方式?
我正在尝试将 Sequelize js 与无服务器一起使用,来自传统服务器背景,我很困惑在哪里/如何运行数据库迁移。
我应该为运行迁移创建一个专用函数还是有其他运行迁移的方式?
几天前,我在构建一个无服务器项目时发现自己有同样的问题,所以我决定开发一个简单的无服务器插件来通过 CLI 管理后续迁移。
使用该插件,您可以:
我知道这个问题是大约两年前发布的,但是对于那些一直来这里寻找答案的人来说,这个插件会很有帮助。
代码和使用说明位于 github 上的插件存储库和npm 上的插件页面上。
要通过 npm 直接在您的项目上安装插件,您可以运行:
npm install --save serverless-sequelize-migrations
Lambda 函数被设计为可在必要时运行。当您期望多次执行时部署它们。
为什么要为迁移任务创建 Lambda 函数?应用数据库迁移是一项维护任务,每个迁移 ID 只需执行一次。如果您不想多次执行相同的 SQL 脚本,我认为您应该避免为此目的创建 Lambda 函数。
在这种情况下,我将使用命令行工具连接该数据库并执行相应的任务。您也可以为此运行一个 Node.js 脚本,但创建一个 Lambda 来执行该脚本并稍后删除此 Lambda 听起来很奇怪,并且只有在您无法直接访问此数据库时才应该使用它。