gpt4 book ai didi

django - 来自Docker容器的Django loaddata命令

转载 作者:行者123 更新时间:2023-12-02 19:23:14 27 4
gpt4 key购买 nike

我有一个django应用程序,已将其放入docker容器中进行部署。我有一些想通过dumpdataloaddata命令加载到数据库中的初始数据。初始数据保存在我的本地硬盘上。我选择一种非常幼稚的方法,只是通过data_backup.jsonscp文件复制到服务器。

现在,我想通过执行以下命令来加载data_backup.json文件(该文件位于服务器上而不是Docker容器中):

sudo docker-compose exec restapi python manage.py loaddata --settings=rest.settings.production ./data_backup_20191004.json

但是Django只在内部目录中搜索灯具。

我正在寻找一种使用docker容器内的data_backup.json文件填充数据库的方法。有人可以帮忙吗?

最终,我正在寻找一种直接将数据转储到S3并在需要时从那里加载数据的方法(用于数据库备份)。如果您有实现该目标的任何技巧,这也将非常有帮助-我似乎无法找到有关该目标的资料。

最佳答案

以防万一将来有人遇到这个问题。可以从stdin加载数据。因此,您只需获取备份文件并将其通过管道传递到数据库中(使用以下命令即可在容器内:

cat <<fixture_name.json>> | sudo docker exec -i <<container_name_or_id>> python manage.py loaddata --format=json -

最后一个破折号告诉django您要从stdin加载数据。

DOCS

关于django - 来自Docker容器的Django loaddata命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58235385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com