1、第一步,需要一个mysql数据库。
2、建一个database, 假如叫:api_test。
3、先执行如下操作,将db.sqlite3中的数据导出来。 记得先备份一个db.sqlite3。此时settings.py的配置还是sqlites3.
python3 manage.py dumpdata --exclude=contenttypes --exclude=auth.Permission > data.json
4、修改settings.py:
DATABASES = { # "default": { # "ENGINE": "django.db.backends.sqlite3", # "NAME": os.path.join(BASE_DIR, "db.sqlite3"), # }, "default": { "ENGINE": "django.db.backends.mysql", "NAME": "api_test", "USER": "****", "PASSWORD": "*****", "HOST": "*****", "PORT": "4306", "OPTIONS": {"charset": "utf8mb4"}, ##避免存了表情包等 }, },
5、修改__init__.py:
import pymysql pymysql.version_info = (1, 4, 13, "final", 0) pymysql.install_as_MySQLdb() # 使用pymysql代替mysqldb连接数据库,默认的有时候会报错。
6、python3 manage.py makemigrations, 如果有业务库没有导过来,试试: python3 manage.py makemigrations appName
7、python3 manage.py migrate
8、python3 manage.py loaddata data.json,遇到如下报错,修改mysql中的表的字段的大小。
django.db.utils.DataError: Problem installing fixture '/Users/xiaozhu_wt/xiaozhu_wt/Imxiaozhu/data.json': Could not load Xz_ApiTest.DB_api_box(pk=101): (1406, "Data too long for column 'api_method' at row 1")