网上好多文章是用主备方式,但不是那么顺利。下面采用另一个方式。主模式
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
完毕
阅读(2144) | 评论(0) | 转发(0) |