Django数据库sqlite转mysql

  |   0 评论   |   0 浏览

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

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': 'devops',
        'USER': 'root',
        'PASSWORD': 'ddddddd',
        'HOST': '192.168.0.2',
        'PORT': '3306',
    }
}

2.安装mysqlclient

pip install mysqlclient

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': 'devops',
        'USER': 'root',
        'PASSWORD': 'xxxx',
        'HOST': 'xxx',
        'PORT': '3306',
    }
}

8.访问测试

搞定收工!
image.png

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

评论

发表评论