+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(1)

2019-08(109)

2019-09(120)

2019-10(17)

2019-11(1)

django如何把旧数据库数据迁移到新数据库

发布于2021-01-15 21:08     阅读(674)     评论(0)     点赞(21)     收藏(5)


0

1

2

3

4

5

6

这里是使用django的dumpdata和loaddata命令迁移数据到新数据库。

一、首先停止django服务,从旧数据库导出所有数据;

python manage.py dumpdata -o backup.json

二、创建新的数据库,并修改django配置,比如下面从sqlite切换到postgresql;

# settings.py

DATABASES = {
    #'default': {
    #    'ENGINE': 'django.db.backends.sqlite3',
    #    'NAME': os.path.join(BASE_DIR, 'old_database.sqlite3'),
    #}
    'default': {
         'ENGINE': 'django.db.backends.postgresql_psycopg2',
         'NAME': 'new_database',
         'USER': 'postgres',
         'PASSWORD': 'password',
         'HOST': '127.0.0.1',
         'PORT': 5432,
    }
}

三、给新项目迁移数据表

python manage.py migrate

不需要使用 python manage.py migrate --run-syncdb
–run-syncdb 只是多了一个 Creating tables 的步骤。

四、由于导入时候ContentType可能会导致冲突,所以需要先删除ContentType

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

五、最后导入旧数据库的数据即可完成。

python manage.py loaddata backup.json

0

1

2

3

4

5



所属网站分类: 技术文章 > 博客

作者:你太美丽

链接: https://www.pythonheidong.com/blog/article/771914/f63f3f67df73448522bd/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)