Django数据库迁移 从SQLite3至PostgreSQL

步骤:

备份数据库

python manage.py dumpdata > dump.json

修改settings.py文件中默认数据库的配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '<数据库名称>',
        'USER': '<用户名>',
        'PASSWORD': '<密码>',
        'HOST': '',
        'PORT': '',
    }
}

初始化postgre数据库

python manage.py migrate --run-syncdb

导入数据库

python manage.py loaddata dump.json

 

遇到问题

 

1. loaddata过程报错

django.db.utils.DataError: Problem installing fixture 'D:\XXX\test.json': Could not load users.User(pk=测试): 错误:  对于可变字符类型来说,值太长了(50)

 

 

 解决办法:

修改model类中对应的字段的max_length属性值,然后更新数据库,重新执行loaddata操作

 

python manage.py makemigrations
python manage.py migrate

 

 

 

 

posted @ 2020-03-06 13:51  柔南青空  阅读(689)  评论(0编辑  收藏  举报