在Kubernetes环境下部署Django应用时,postgresql和django容器一旦部署完成,接下来就是数据迁移。

首先,在原有django主机上将数据导出:

python manage.py dumpdata > whole.json

登录到django应用的pod上

kubectl exec --stdin --tty danjoapppod -- /bin/sh

清除已有迁移文件

find . -path “*/migrations/*.py” -not -name “__init__.py” -delete
find . -path “*/migrations/*.pyc” -delete

数据迁移准备

python manage.py makemigrations
python manage.py migrate

删除 content types

python manage.py shell
from django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
exit()

把whole.json 用ftp传送到pod上,导入数据

python manage.py loaddata whole.json

参考

https://medium.com/djangotube/django-sqlite-to-postgresql-database-migration-e3c1f76711e1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注