最近項(xiàng)目需要將sqlite3轉(zhuǎn)化為mysql创淡,找了幾種方案萄传,發(fā)現(xiàn)大多有些陳舊爆班。
后面看到這個(gè)衷掷,試驗(yàn)也成功了。
Django Sqlite3 數(shù)據(jù)庫向MySQL遷移
具體用到
django-admin and manage.py
步驟也很簡(jiǎn)單柿菩,按照鏈接的教程直接跑就可以了戚嗅。
但不確保這個(gè)方法對(duì)任何的轉(zhuǎn)化都適用,可能得確保原本的數(shù)據(jù)繼承邏輯不會(huì)出錯(cuò)枢舶。
不過django版本升級(jí)后,syncdb被migrate取消渡处,新版本用以下命令語句:
# 將數(shù)據(jù)庫字段遷移
python manage.py migrate --database slave
總體來講,這種遷移法就是:
- 1.建立新的要遷移的數(shù)據(jù)庫祟辟;
CREATE DATABASE;
- 2.將數(shù)據(jù)字段遷移医瘫;
python manage.py migrate --database slave
- 3.將數(shù)據(jù)轉(zhuǎn)化為中間格式,如json旧困;
python manage.py dumpdata > data.json
- 4.切換數(shù)據(jù)庫醇份,將數(shù)據(jù)導(dǎo)入新的數(shù)據(jù)庫;
python manage.py loaddata data.json
假如出現(xiàn)問題數(shù)據(jù)導(dǎo)入問題的話吼具,可以考慮部分導(dǎo)出僚纷,然后分批次導(dǎo)入
python manage.py dumpdata app.model > data.json