【愚公系列】2022年01月 Django商城项目02-Mysql的配置

2022-01-04 10:20:32 浏览数 (1)

文章目录

  • 一、创建数据库
    • 1.创建数据库
    • 2.数据库配置
  • 二、数据迁移

一、创建数据库

1.创建数据库

打开navicat,创建数据库,字符集设置utf8

2.数据库配置

安装

代码语言:javascript复制
pip install PyMySQL

__init__文件配置

代码语言:javascript复制
import pymysql

pymysql.install_as_MySQLdb()

settings文件配置

代码语言:javascript复制
#DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#    }
#}
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 数据库引擎
        'HOST': 'localhost', # 数据库主机
        'PORT': 3306, # 数据库端口
        'USER': 'root', # 数据库用户名
        'PASSWORD': '123456', # 数据库用户密码
        'NAME': 'dj_meiduol' # 数据库名字
    }
}

二、数据迁移

1. 把SQLite数据导入到MySQL中

导出

代码语言:javascript复制
python manage.py dumpdata > data.json

导入

代码语言:javascript复制
python manage.py loaddata data.json

必须确保Mysql用户表里为空的,如果之前有迁移过数据到Mysql,有可能会出错。注意出错的时候所报的错误信息。如果提示有重复主键,那需要先删掉数据。这些数据是在给MySQL数据库应用迁移文件的时候产生的,一般是content_type相关的表。

进入到MySQL,执行如下的SQL语句:

代码语言:javascript复制
use 你的数据库名;
delete from auth_permission;
delete from django_content_type;

删除数据之后,再执行一次导入命令即可。基本上,导入不了数据都是MySQL存在数据导致的。

2. MySQL数据到PostgreSQL

导出

代码语言:javascript复制
python manage.py dumpdata > backup.json

导入

代码语言:javascript复制
python manage.py loaddata backup.json

0 人点赞