Django把SQLite数据库转换为Mysql数据库的过程 目录 1.SQLite导出数据 2.MySQL导入数据 大部分新手刚学Django开发的时候默认用的都是SQLite数据库,上线部署的时候,大多用的却是Mysql.那么我们应该如何把数据库从SQLite迁移转换成Mysql呢? 之前我们默认使用的
目录
- 1、SQLite导出数据
- 2、MySQL导入数据
大部分新手刚学Django开发的时候默认用的都是SQLite数据库,上线部署的时候,大多用的却是Mysql。那么我们应该如何把数据库从SQLite迁移转换成Mysql呢?
之前我们默认使用的是SQLite数据库,我们开发完成之后,里面有许多数据。如果我们想转换成Mysql数据库,那我们先得把旧数据从SQLite导出,然后再导入到新的Mysql数据库里去。
1、SQLite导出数据
导出之前,我们先确保settins.py数据库配置选项那里,还是使用的是SQLite配置,如果已经修改了,请先修改回来:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
然后在CMD命令行里输入:
python manage.py dumpdata > data.json
这样就将数据导出到Django项目根目录下的data.json文件。
2、MySQL导入数据
同样,先将Django的数据库配置改为MySQL的:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '你的数据库名',
'USER': '你的MySQL用户名',
'PASSWORD': '你的密码',
'HOST': 'localhost',
'PORT': '3306',
}
}
先找到数据表对应的 migrations 文件夹,保留 __pycache__
和 __init__.py
文件,其他的都删掉。
然后先执行下面这行命令:
python manage.py makemigrations
再执行下面这行命令:
python manage.py migrate
然后在CMD命令行里输入:
python manage.py loaddata data.json
再运行项目,发现成功运行
注意:
确保Mysql用户表里为空的,如果之前有迁移过数据到Mysql,有可能会出错。注意出错的时候所报的错误信息。如果提示有重复主键,那需要先删掉数据。这些数据是在给MySQL数据库应用迁移文件的时候产生的,一般是content_type相关的表。
进入到MySQL,执行如下的SQL语句:
use 你的数据库名;
delete from auth_permission;
delete from django_content_type;
删除数据之后,再执行一次导入命令即可。基本上,导入不了数据都是MySQL存在数据导致的。
到此这篇关于Django如何把SQLite数据库转换为Mysql数据库的文章就介绍到这了,更多相关Django SQLite数据库转换Mysql数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:Django把SQLite数据库转换为Mysql数据库的过程


基础教程推荐
- 四步教你学会打包一个新的Python模块 2022-10-20
- ubuntu 18 python3.6 的安装与 python2的版本切换 2023-09-03
- python的环境conda简介 2022-10-20
- CentOS 7.5 安装 Python3.7 2023-09-03
- Python 中 Elias Delta 编码详情 2023-08-08
- Python爬取当网书籍数据并数据可视化展示 2023-08-11
- 基于Python实现股票数据分析的可视化 2023-08-04
- Python基础学习之函数和代码复用详解 2022-09-02
- centos系统 anaconda3(python3)安装pygrib 2023-09-04
- Centos7下安装python环境 2023-09-04