Django数据库迁移:从 sqlite 迁到 mysql

526 阅读1分钟

Django 的默认数据库是 sqlite ,一般大家只是把 sqlite 当做练手的数据库,实际要用的时候,还得用 mysql 等。

下面,我开始 Django 项目迁移到 mysql 数据库。

第一步:准备好 mysql 数据库

我的是本地数据库,信息如下:

数据库地址:127.0.0.1

数据库端口:3306

数据库名称:my_db

用户名:root

密码:******

第二步:修改配置

1、 修改 Django 目录下的 setting.py 文件。

#....
# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases

# 注释 sqlite 
# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 默认
        'NAME': 'my_db',  # 连接的数据库
        'HOST': '127.0.0.1',  # mysql的ip地址
        'PORT': 3306,  # mysql的端口
        'USER': 'root',  # mysql的用户名
        'PASSWORD': '*******'  # mysql的密码
    }
}

#....

2、修改 Django 目录下的 __init__.py 文件。

import pymysql
pymysql.install_as_MySQLdb()

3、 安装依赖:pymysql

pip install pymysql 

第三步:执行:初始化模型

python manage.py migrate

执行成功后,应该是这样的:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, myapi, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  ....

如果上述步骤顺利,迁移就算成功了,这个数据再打开 mysql 数据库,就可以看到新增了许多表了。

这个时候就可以启动项目了:python manage.py runserver

完,祝好运。