网上好多文章是用主备方式,但不是那么顺利。下面采用另一个方式。主模式

1、备份出sqlite3数据库
    python manage.py dumpdata > all_data.json

2、切换到mysql
   修改 setting.py 举例如下
    DATABASES = {
            'default': {
         #            'ENGINE': 'django.db.backends.sqlite3',
        #        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
         #    },
         #"slave": {
         "default": {
           "ENGINE": "django.db.backends.mysql",
           "NAME": "tangshanDaiLiHouTai",
           "USER": "root",
           "PASSWORD": "123456",
           "HOST": "192.168.1.106",
           "PORT": "3306",
       },
    }

3、删除原有各app下的migrations文件夹。并重新建立
    先删除原先各个app下的 migrations,
    再找个新的app(刚建立的app),复制其中的migrations(只有__init__)文件件.
   
    注意没有migrations 不能创建新表结构

4、建立mysql数据库结构
    DROP DATABASE  tangshanDaiLiHouTai;
    CREATE DATABASE tangshanDaiLiHouTai CHARACTER SET utf8 COLLATE utf8_general_ci;
 
    tangshanDaiLiHouTai 为setting.py指定的数据库名称

    执行python manage.py makemigrations;python manage.py migrate

5、导入到mysql数据库   
   python manage.py loaddata mysite_all_data.json

完毕


09-17 18:12
查看更多