Django数据库sqlite转mysql

1.添加 mysql 做为 slave

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
     },
    'slave': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_name',
        'USER': 'db_username',
        'PASSWORD': 'db_password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

2.安装pymysql模块,用来操作mysql数据库

pip install pymysql

修改settings.py同目录__init__.py文件

import pymysql
pymysql.install_as_MySQLdb()

3.迁移数据库到 slave

python manage.py migrate --database slave

4.确认是否有遗漏再执行一遍

python manage.py makemigrations
python manage.py migrate
python manage.py migrate --database slave

5.导出数据

python manage.py dumpdata --database default > dumpdata20200305.json

6.导入数据到 mysql

python manage.py loaddata --database slave  dumpdata20200305.json

mac 下会出现一个报错

第一行会有一个当前目录的字符串,删掉第一就可以了

7. 修改配置文件 settings.py

将配置修改 default 为 mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'db_name',
        'USER': 'db_username',
        'PASSWORD': 'db_password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

8.访问测试
搞定收工!

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权,转载请注明出处。
文章名称:《Django数据库sqlite转mysql》
文章来自:泰恩数据
文章链接:https://tyne.cc/186.html
本站资源仅供个人学习使用,请勿用于商业用途。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址