如何为我的容器化烧瓶应用程序创建本地迁移文件

时间:2018-02-22 14:05:52

标签: python flask flask-migrate

我最近将我的烧瓶app容器化了。我的docker-compose文件创建了四个容器:web,db,rabbit和celery。我更新代码时,我的Web容器会更新。它运作良好,我很高兴。

但是,我觉得我必须遗漏一些东西,因为我无法弄清楚如何创建迁移文件。当我使用虚拟环境时,我只是运行了python manage.py db migrate和(繁荣!),创建了迁移。现在,当我启动我的venv并运行该命令时,我收到以下错误:

(psycopg2.OperationalError) could not translate host name "db" to address: nodename nor servname provided, or not known

我认为这是有道理的,因为命令/代码似乎无法找到/解析db。话虽如此,我该如何解决这个问题?我错了吗?

我正在使用:SQLAlchemy,flask-migrate,postgres

1 个答案:

答案 0 :(得分:1)

您必须在容器中运行manage.py,行之间应该执行以下操作:

docker-compose exec container-name /path/to/manage.py db migrate

如果您需要访问容器中创建的文件,只需在容器上安装卷并将您的应用打包到该卷中。可以从主机访问写入容器中卷的所有内容。