Django项目中把原生sqlite数据迁移至mysql数据库

Sqlite数据库是django项目在pycharm中产生的原生数据库,里面会有许多数据,但有时我们想中途转换成mysql数据库,那我们先得把旧数据从sqlite导出,然后再导入到数据的mysql数据库中。
准备:本地己安装MySQL数据库;pycharm中己安装mysqlclient。
1、在mysql中生成数据表:
在setting.py中将数据库配置改为mysql的:
Django项目中把原生sqlite数据迁移至mysql数据库_第1张图片

迁移数据库:python mange.py migrate
生成缓存表:python manage.py createcachetable
运行项目并查看启动情况:python manage.py runserver
Django项目中把原生sqlite数据迁移至mysql数据库_第2张图片

2、还原setting.py的database为sqlite,把数据导出:
Sqlite导出数据
确保setting.py数据库配置里是sqlite配置:
Django项目中把原生sqlite数据迁移至mysql数据库_第3张图片

然后在cmd命令行里输入:
python manage.py dumpdata > data.json
这样就将数据导出到django项目根目录下的data.json。
删除mysql中表django_content_type和auth_permission的所有数据,防止导入数据报错数据重复:
输入:delete from auth_permission;
Delete from django_content_type;
Django项目中把原生sqlite数据迁移至mysql数据库_第4张图片

Mysql导入数据
在setting.py中将数据库配置改为mysql的:
Django项目中把原生sqlite数据迁移至mysql数据库_第5张图片

然后在cmd命令行中输入:
python manage.py loaddata data.json
查看mysql数据库表,数据己成功导入:
Django项目中把原生sqlite数据迁移至mysql数据库_第6张图片

你可能感兴趣的:(mysql,数据库,django,python)