【问题标题】:Railway.app: Running command (Flask-Migrate) in Deployed Service EnvironmentRailway.app:在部署的服务环境中运行命令(Flask-Migrate)
【发布时间】:2023-01-24 04:46:57
【问题描述】:

我正在将 Python flask web 应用程序从 Heroku 迁移到 Railway。该应用程序使用一组 Flask CLI 命令来初始化和更新 Postgres 数据库模式。

例如,在开发环境中,我会运行“flask db migrate”来创建一个要复制到其他位置的数据库模型。

为了将模型复制到暂存或生产环境中,我需要在暂存/生产应用程序上运行命令“flask db upgrade”。 Heroku 的 CLI“运行”命令允许您通过运行以下命令在没有 SSH 的情况下执行此操作:

heroku run flask db upgrade --app NAME-OF-STAGING/PRODUCTION-APP

据我所知,Railway 的 CLI 运行命令不允许您选择以相同方式运行命令的在线环境。他们也不允许 SSH 访问。

有什么方法可以在 Railway 实时应用程序上运行 CLI 命令或 Python 文件,以便我可以运行 Flask-migrate 的“数据库升级”并让我的 Postgres 数据库正常工作?

【问题讨论】:

    标签: python python-3.x postgresql flask flask-migrate


    【解决方案1】:

    如果您仍在寻找答案,这就是我所做的:我没有使用 flask migrate,而是将我的数据库下载为 CSV 文件并创建了我自己的迁移脚本。该脚本逐行读取 CSV 文件并将数据添加到新数据库(您需要删除旧数据库)。我从我的 main.py 调用脚本,然后在数据库迁移后删除脚本。这绝对不是执行此操作的最佳方法,尤其是当您的数据库中包含大量数据时,但这是一个很好的解决方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-12
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 2013-12-20
      • 1970-01-01
      相关资源
      最近更新 更多