【问题标题】:running flask-migrate on a production environment: no ssh在生产环境中运行烧瓶迁移:无 ssh
【发布时间】:2021-03-19 22:09:47
【问题描述】:
我正在使用 RDS 在 lambda 上运行 python 应用程序。我想使用flask-migrate,但每个示例都是命令行调用。
所以,我的问题是:是否可以在 lambda 实例上运行 flask-migration,无论是在应用启动时还是通过非命令行调用?
或者我确实需要将 RDS 实例打开到 Internet 以进行迁移(并从我的本地运行)。
【问题讨论】:
标签:
python
flask-sqlalchemy
flask-migrate
【解决方案1】:
我可以想到两个选项,而不涉及在公共 IP 地址上公开您的数据库:
- 在与您的 RDS 数据库位于同一 VPC 的容器或 EC2 上运行
flask db upgrade 命令。
- 在您的 lambda 函数中以编程方式运行
upgrade() 函数:
from flask_migrate import upgrade
app = ...
db = ...
migrate = ...
upgrade()