django中sqlite遷移mysql

sqlite數據遷移

1 數據備份

django中打開terminal
python manage.py dumpdata authorization > authorization_data.jsonpython

2 表結構同步


django中建立mysql數據庫並更新配置settings
建立slave數據庫
遷移數據庫表
python manage.py migrate --run-syncdb --database slave  #syncdb 同步數據庫mysql

 

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.jsonsql

 

#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
}
}django

3 數據遷移


setting中配置設置只默認mysql,去掉slave
python manage.py loaddata authorization_data.jsonjson

 

diango-模型變動makemigration,migratesqlite

model--用戶層面blog

makemigration--django層面terminal

migrate--db層面同步

相關文章
相關標籤/搜索