如何在Railway线上环境执行Flask-Migrate的db upgrade命令?
在Railway上执行Flask-Migrate
db upgrade的几种方法 方法1:用Railway CLI指定环境执行
Railway CLI支持指定环境运行命令,步骤很直接:
- 先登录CLI:
railway login - 关联你的项目(如果没关联):
railway link,或者直接进入本地项目目录 - 执行迁移命令时指定目标环境,比如预发布环境:
railway run --environment staging flask db upgrade
生产环境就换成:railway run --environment production flask db upgrade
如果项目里有多个服务,再加--service <你的Flask服务名>就能精准指定
方法2:启动时自动执行迁移
不想每次手动跑命令的话,把迁移命令加到启动流程里:
- 新建一个
start.sh脚本,内容如下:
#!/bin/bash # 先执行数据库迁移 flask db upgrade # 再启动Flask应用(这里替换成你实际的启动命令,比如gunicorn或者flask run) gunicorn app:app
- 给脚本加执行权限:
chmod +x start.sh,然后把脚本提交到代码仓库 - 在Railway的应用设置里,把启动命令改成
./start.sh
这样每次应用部署、重启都会自动完成迁移,省得手动操作
方法3:通过Railway网页控制台执行
不用CLI的话,直接在网页端操作:
- 打开Railway控制台,进入你的项目,切换到目标环境(预发布/生产)
- 找到你的Flask服务,点击右上角的"Run Command"按钮
- 在弹出的输入框里输入
flask db upgrade,点击执行就行
内容的提问来源于stack exchange,提问作者m-a-draco
相关产品推荐
相关产品推荐

