django migrate mysql_django中sqlite迁移mysql

sqlite数据迁移

1 数据备份

django中打开terminal

python manage.py dumpdata authorization > authorization_data.json

2 表结构同步

django中创建mysql数据库并更新配置settings

创建slave数据库

迁移数据库表

python manage.py migrate --run-syncdb --database slave  #syncdb 同步数据库

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),

},

'slave': { #slave备用数据库

'ENGINE': 'django.db.backends.mysql',

'NAME': 'backend',

'USER': 'root',

'PASSWORD': 'Jarvis.123456',

'HOST': 'localhost',

'PORT': '3306'

}

}

导入数据:python manage.py loaddata authorization_data.json

#init中添加导入

import pymysql

pymysql.install_as_MySQLdb()

#先建数据库,setting中配置

DATABASES = {

'slave': {

'ENGINE': 'django.db.backends.mysql',

'NAME': 'xxx',

'USER': 'root',

'PASSWORD': '123',

'HOST': '127.0.0.1',

'PORT': 3306

}

}

3 数据迁移

setting中配置设置只默认mysql,去掉slave

python manage.py loaddata authorization_data.json

diango-模型变更makemigration,migrate

model--用户层面

makemigration--django层面

migrate--db层面

你可能感兴趣的:(django,migrate,mysql)