mysql导表1874错误_迁移Django所使用的sqlite3数据库至mysql

要把Django正在使用的数据库从sqlite3切换为mysql,基本思路就是先把sqlite3数据库里的数据使用Django的方式导出来,然后将Django的settings文件中的database backend改为mysql,最后再使用Django的方式将数据导入。

导出数据

Django的settings/databases为sqlite3时导出数据

python manage.py dumpdata > datadump.json

导入准备

1.修改settings/databases成mysql:

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': '数据库名',

'HOST': '数据库地址',

'USER': '用户',

'PASSWORD': '密码',

'PORT': '端口',

'charset':'编码',

}

2.进入mysql,创建数据库

CREATE DATABASE 数据库名 CHARACTER SET 编码 COLLATE 编码;

3.生成表结构

python manage.py makemigrations

python manage.py migrate

4.删掉mysql中和sqlite3中重复的表

python manage.py shell

from django.contrib.contenttypes.models import ContentType

ContentType.objects.all().delete()

导入数据

python manage.py loaddata datadump.json

Q.E.D.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值