django 配置mysql資料庫
在settings.py中配置
databases =
}
資料庫結構遷移
python3不支援mysqldb,可用pymysql代替。
1.首先,在python虛擬環境下安裝pymysql:pip install pymysql。
2.然後,在專案資料夾下的_init_.py新增如下**即可。
import pymysql
pymysql.install_as_mysqldb()
3.再者,在terminal中執行資料庫遷移命令:
python manage.py makemigrations
python manage.py migrate
資料遷移
把sqlite資料匯入到mysql中
之前我們預設使用的是sqlite資料庫,我們開發完成之後,裡面有許多資料。如果我們想轉換成mysql資料庫,那我們先得把舊資料從sqlite匯出,然後再匯入到新的mysql資料庫裡去。
1、sqlite匯出資料
匯出之前,我們先確保settins.py資料庫配置選項那裡,還是使用的是sqlite配置,如果已經修改了,請先修改回來:
databases =
}
然後在cmd命令列裡輸入:
python manage.py dumpdata > data.json
這樣就將資料匯出到django專案根目錄下的data.json檔案。
2、mysql匯入資料
同樣,先將django的資料庫配置改為mysql的:
databases =
}
然後在cmd命令列裡輸入:
python manage.py loaddata data.json
注意:
確保mysql使用者表裡為空的,如果之前有遷移過資料到mysql,有可能會出錯。注意出錯的時候所報的錯誤資訊。如果提示有重複主鍵,那需要先刪掉資料。這些資料是在給mysql資料庫應用遷移檔案的時候產生的,一般是content_type相關的表。
進入到mysql,執行如下的sql語句:
use 你的資料庫名;
delete from auth_permission;
delete from django_content_type;
刪除資料之後,再執行一次匯入命令即可。基本上,匯入不了資料都是mysql存在資料導致的。
載入時區表
另外,有可能所安裝的mysql沒有載入時區表。這個可能會導致filter對日期的查詢有問題。django官方文件也指出這個問題。mysql官網也有對應處理方法:載入時區表
mysql -u root -p mysql < timezone_posix.sql
mysql資料到postgresql
操作很簡單:
python manage.py dumpdata > backup.json
到postgresql對應的配置中:
python manage.py loaddata backup.json
django配置mysql資料庫
最近在學習django,學到第五章模型時,需要連線資料庫,然後,在這裡分享一下方法。起初是不知道怎樣配置mysql資料庫,但是還好,django的官網上面有相關的配置方法,下面就直接給分享一下。這是settings檔案裡面的基礎配置,使用的是sqlite,那我們需要連線其他資料庫呢?plain vi...
Django 配置mysql 資料庫
我本地已經安裝了mysql5.7 資料庫也已經建立好。但當我在專案配置檔案settings.py修改完資料庫連線後發現並不能使用 databases 控制台報錯 django.core.exceptions.improperlyconfigured error loading mysqldb mod...
Django配置mysql資料庫
很顯然這是乙個mysql的客戶端,當然是python版的,預設情況下,django支援的是這個客戶端,如果不安裝的話會提示錯誤 說無法連線資料庫,是不是沒安裝mysql客戶端 mysqlclient客戶端鏈結 按照上述連線中的安裝方法,執行下列命令就可以進行安裝 先安裝一堆需要的庫檔案 sudo a...