运行 生产环境中的 flask-migrate:无 ssh

running flask-migrate on a production environment: no ssh

我正在使用 RDS 运行在 lambda 上安装一个 python 应用程序。我想使用 flask-migrate 但每个示例都是命令行调用。

所以,我的问题是:是否可以在 lambda 实例上 运行 烧瓶迁移,无论是在应用程序启动时还是通过非命令行调用?

或者我真的需要将 RDS 实例打开到 Internet 以进行迁移(并且 运行 从我的本地)。

我可以想到两个选项,而不涉及在 public IP 地址上公开您的数据库:

  1. 运行 flask db upgrade 命令在与 RDS 数据库位于同一 VPC 上的容器或 EC2 上。
  2. 运行 在您的 lambda 函数中以编程方式调用 upgrade() 函数:
from flask_migrate import upgrade

app = ...
db = ...
migrate = ...

upgrade()