Django把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数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Django数据库(SQlite)基本入门使用教程

    目录 1:创建工程 2:创建blog应用 3:数据库操作 4.在blog_demo表中添加数据: 总结 1:创建工程 django-admin startproject mysite 创建完成后,工程目录结构如下: manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等. settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量. urls.py ----- 负责把URL模式映射到应用程序. 2:

  • django 将自带的数据库sqlite3改成mysql实例

    在settings.py中将默认内容覆盖成 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'wechat', 'USER':'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'PORT':'3306', } } 然后 msql -u root -p 输入密码 create database wechat default charset=utf8; 补

  • django 连接数据库 sqlite的例子

    Aphorism the fight is worth it. django models 连接 sqlite 数据库 django 版本为 1.11.7 在 blog 项目下创建一个 app article :python manage.py startapp article 在 blog 项目结构下会多出一个 article 目录 在 article 下面的 models.py 文件中输入 from django.db import models class Article(models.M

  • Django将默认的SQLite更换为MySQL的实现

    1.注释默认的SQLite3配置: blogproject/settings.py ''' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } ''' 2.添加MySQL配置(配置你自己的mysql库前提是你已经有能够供自己使用的MySQL库了) DATABASES = { 'default': { 'ENGINE'

  • DJango的创建和使用详解(默认数据库sqlite3)

    1.安装虚拟环境 虚拟环境是真实python环境的复制版本. 安装虚拟环境的命令: 1)sudo pip install virtualenv #安装虚拟环境 2)sudo pip install virtualenvwrapper #安装虚拟环境扩展包 3)编辑家目录下面的.bashrc文件,添加下面两行. export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 4)使用source .b

  • django将图片保存到mysql数据库并展示在前端页面的实现

    小编使用python中的django框架来完成! 1,首先用pycharm创建django项目并配置相关环境 这里小编默认项目都会创建 settings.py中要修改的两处配置 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE': 'django.db.backends.mysql', 'NAME'

  • 八步解决ACCESS自动编号问题(将SQL SERVER 2000数据库,转换为ACCESS数据库)

    第一步:打开你的"开始菜单",打开"程序"->SQL server enterprise mananger "企业管理器" 在你要导出的SQL数据库上鼠标右键菜单:所有任务->导出数据 第二步:会出现一个导出向导窗口.选择被导出的数据源,为你刚才所选择的数据库,如果发现不对应自行修改. 第三步:进入导出到目标数据源的选择,这里我们要转成ACCESS的数据库.注意选择数据源类型为"Microsoft Access.点 &quo

  • mysql数据库迁移至Oracle数据库

    本文实例为大家分享了java获取不同路径的方法,供大家参考,具体内容如下 1.使用工具: (1) Navicat Premium (2) PL/SQL Developer 11.0 (3) Oracle SQL Developer 4.0.0.12.84(点击可进入下载页面) 特别说明:最初我用的一直是高版本的SQL Developer,但在数据库移植到大概两分钟的时候,总是报错,而错误信息又不明确.最后换成 Oracle SQL Developer 4.0.0.12.84,才把问题解决掉!如果

  • 一篇文章带你了解MySQL数据库基础

    目录 1. 数据库概念 1.1 数据库是干嘛的? 1.2 数据库和数据结构是啥关系? 1. 数据库是一个软件/程序 2. 数据结构是一个学科~ 1.3 两种类型的数据库 2. MySQL数据库 2.1 MySQL数据库概念 2.2 MySQL基本操作 2.2.1 建立数据库 2.2.2 查看数据库 2.2.3 选中数据库 2.2.4 删除数据库 2.3 MySQL数据类型 总结 1. 数据库概念 1.1 数据库是干嘛的? 数据库的功能就是用来组织数据,组织很多很多的数据.这些数据通常都是存储在外

  • Django如何配置mysql数据库

    Django项目默认使用sqlite 数据库,但是我想用mysql数据库,应该如何配置呢. Django连接mysql数据库的操作,是通过根模块的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下DATABASES的配置信息: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } 解释一下上

  • Django中从mysql数据库中获取数据传到echarts方式

    尝试了几种方法,感觉过于复杂,于是自己写了一个方法. (1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现: (2)然后是页面加载完成时执行的函数ready,调用方法f; (3)在函数f中获取参数,此时是string类型,需要将其转换为json对象,使用eval即可: (4)json对象的每一个元素均为string(可以使用typeof()判断),需要取出每一个成员将其转换为json对象: (5)在echarts模块函数中调用函数f,获取所需的数据 补充知识:djang

  • 非常详细的Django连接mysql数据库步骤记录

    目录 一.修改数据库连接 二.安装数据库驱动 三.创建表并同步到mysql数据库: 总结 一.修改数据库连接 打开项目,在settings.py文件中是否有以下内容: 以上内容是创建django项目的时候是自动创建的.这个是告诉你,django默认连接sqllite.ENGINE:是指连接数据库驱动的名称,NAME是指要连接什么库,什么文件.ENGINE有以下几种情况: 1.django.db.backends.postgresql 连接 PostgreSQL 2.django.db.backe

  • 将Django使用的数据库从MySQL迁移到PostgreSQL的教程

    我们已对 Django1.6 app完成了数据库从mysql到PostgreSQL的迁移,如果你的环境很干净,这个过程就会很简单,只要允许syncdb 或者 migrate创建表,truncating表中的数据,然后运行dumpdata 和loaddatamanagement命令就完成了. 第一步,在你的PostgreSQL数据库中创建一个空的实例: CREATE DATABASE dbname OWNER rolename; 第二步,在你的Django中给创建的数据库加上配置 在setting

  • 在python3环境下的Django中使用MySQL数据库的实例

    我们在使用Django过程中,数据库往往是离不开的,比较长常用的是MySQL数据库,但在使用过程中,对Python不同的版本对用的库也不一样,用惯了Python2的人在使用Python3时经常会遇到下面的错误: Error loading MySQLdb module: No module named 'MySQLdb'. 这是因为Python3 MySQL的支持库为pymysql所致,所以我们要下载pymysql数据库. 并且在站点文件夹下的__init__.py(project同名目录下,而

  • 将备份的SQLServer数据库转换为SQLite数据库操作方法

    操作方法:先要安装好SQLServer2005,并且记住安装时自己设置的用户名和密码.下面以恢复SQLServer下备份的数据库文件epdmdb20101008.bak为SQLite数据库为例来说明操作的步骤. ① 打开SQLServer2005,如下图所示: 在登陆界面输入登录名和密码,点"连接". 登录之后的界面如下: ② 新建一个数据库. 点左边导航栏的数据库,右键-新建数据库:如下图所示: 在弹出的新建数据库窗口中输入"数据库名称",点"添加&qu

随机推荐