1. 备份mysql数据

使用Navicat转换,之前用Navicat 12由于版本过低连不了postgresql,所以换成了Navicat 16,

将mysql数据库中的数据导出csv

2. settings设置postgrespl:

DATABASES = {
    'default': {
        'ENGINE': "django.db.backends.postgresql",
        'NAME': "mos",          #数据库名字
        'USER': "postgres",     #账号
        'PASSWORD': "***",      #密码
        'HOST': "127.0.0.1",    #IP
        'PORT': 5432,                   #端口
    }
}

3. Django数据库的同步

python manage.py makemigrations
python manage.py migrate

这时报了一个错:

psycopg2.errors.UniqueViolation: duplicate key value violates unique constraint "adminconnect_task_pkey"

DETAIL:  Key (id)=(1) already exists.

发现是Django版本的问题,Django版本必须高于4.1

4. 同步数据到postgrespl

将第一步中导出的mysql数据导入到migrate新生成的数据表中

Thanks

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐