Django数据库sqlite转mysql

  |   0 评论   |   0 浏览

  网上的 百度出来结果十个有九个坑,还有一个半吊子。幸亏备份了,弄出了一个真实可行的

1.添加 MySQL 做为 slave

 1DATABASES = {
 2    'default': {
 3         'ENGINE': 'django.db.backends.sqlite3',
 4         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 5     },
 6    'slave': {
 7        'ENGINE': 'django.db.backends.mysql',
 8        'NAME': 'devops',
 9        'USER': 'root',
10        'PASSWORD': 'ddddddd',
11        'HOST': '192.168.0.2',
12        'PORT': '3306',
13    }
14}

2.安装 mysqlclient

1pip install mysqlclient

3.迁移数据库到 slave

1python manage.py migrate --database slave

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

1python manage.py makemigrations
2python manage.py migrate
3python manage.py migrate --database slave

5.导出数据

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

6.导入数据到 MySQL

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

  mac 下会出现一个报错

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

7. 修改配置文件 settings.py

  将配置修改 default 为 MySQL

 1DATABASES = {
 2    'default': {
 3        'ENGINE': 'django.db.backends.mysql',
 4        'NAME': 'devops',
 5        'USER': 'root',
 6        'PASSWORD': 'xxxx',
 7        'HOST': 'xxx',
 8        'PORT': '3306',
 9    }
10}

8.访问测试

  搞定收工!
image.png

---------------------------------------------------------------
>> 博客地址:https://blog.mufengs.com
>> 邮箱地址:[email protected]
>> 微信帐号:Do8080
>> Github : https://github.com/mufengcoding
---------------------------------------------------------------