Django MySQL 轉 SQLite 教學:Windows 環境下資料庫轉移指南

更新 發佈閱讀 5 分鐘

許多使用 Django 架站的開發者,專案初期可能使用的是 MySQL,若是專案轉為單機使用、測試用途,或需要簡化架構,就會考慮轉向輕量的 SQLite。本篇教學會用最白話的方式,教你如何在 Windows 系統下,將 Django 專案資料庫從 MySQL 改成 SQLite,並成功把原本的資料搬過去。

目標

  • 將 Django 專案改用 SQLite 作為資料庫
  • 匯出原資料(MySQL)並匯入 SQLite

匯出原有資料(MySQL)

在 MySQL 資料庫連線正常下,我們可以透過 Django 的 dumpdata 指令,將資料匯出為 JSON 格式。

  1. 解決 Windows 中文編碼問題,建立 export_json.py 檔案:
import os
import django
import io
from django.core.management import call_command

# 1. 告訴 Django 你的 settings 檔在哪裡
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project_name.settings") # ← 修改這裡
# 2. 初始化 Django
django.setup()

# 3. 匯出資料到 UTF-8 格式 JSON 檔案
with io.open('data.json', 'w', encoding='utf-8') as f:
call_command('dumpdata', '--natural-primary', '--natural-foreign', '--indent', '2', stdout=f)

your_project_name 改成你 Django 專案的資料夾名稱(就是包含 settings.py 的那個資料夾名稱,例如 myproject.settings

如何找出專案名,假設你的資料夾結構像這樣:

project/
├── manage.py
├── myproject/ ← 這裡就是專案名稱
│ ├── __init__.py
│ ├── settings.py ← 這裡表示專案名稱為 `myproject`
│ └── ...

執行指令產生資料檔案:

python export_json.py

修改 Django 設定為 SQLite

打開 Django 專案中的 settings.py,找到 DATABASES 區段,修改為:

默認放在頁盤根目錄

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / "db.sqlite3",
}
}

自訂放置位置

你也可以自訂放在其他磁碟區,如 D 槽:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'D:/data/db.sqlite3', # 或使用 r'D:\data\db.sqlite3'
}
}

確保該資料夾存在,並有寫入權限。

重新建立資料表並匯入資料

先建立 SQLite 資料表:

python manage.py migrate

將 JSON 資料載入:

python manage.py loaddata data.json

成功載入後,資料就轉移完成。

圖形化管理工具(DB Browser for SQLite)

Django 專案已經成功改用 SQLite 做為資料庫,而且資料也順利轉移過來。SQLite 適合輕量單機使用、快速測試與開發,且無需額外伺服器支援。

歡迎收藏與分享,如有問題也可留言討論。

留言
avatar-img
留言分享你的想法!
avatar-img
小猴工程師
2會員
24內容數
小猴工程師的其他內容
2025/04/15
這篇文章提供教學,如何使用 Python 和 Pandas 函式庫將 Elasticsearch 的 JSON 資料(透過 Elasticdump 匯出)轉換成 Excel 可讀取且支援繁體中文的 CSV 檔案,並解決常見的中文編碼問題。
2025/04/15
這篇文章提供教學,如何使用 Python 和 Pandas 函式庫將 Elasticsearch 的 JSON 資料(透過 Elasticdump 匯出)轉換成 Excel 可讀取且支援繁體中文的 CSV 檔案,並解決常見的中文編碼問題。
2025/03/25
演算法是解決問題的系統性流程,廣泛應用於各領域,如廚師的食譜、音樂家的樂譜和程式設計師的程式碼。河內塔問題是經典的遞迴演算法示例,透過觀察、數學建模與遞推關係,揭示演算法設計的核心思維。掌握這些技巧有助於拆解複雜問題並找到最佳解法。如果你對演算法有興趣,歡迎留言交流!
Thumbnail
2025/03/25
演算法是解決問題的系統性流程,廣泛應用於各領域,如廚師的食譜、音樂家的樂譜和程式設計師的程式碼。河內塔問題是經典的遞迴演算法示例,透過觀察、數學建模與遞推關係,揭示演算法設計的核心思維。掌握這些技巧有助於拆解複雜問題並找到最佳解法。如果你對演算法有興趣,歡迎留言交流!
Thumbnail
2025/03/21
本文介紹 VB.NET 的 If...Else 和 Select Case 條件判斷結構,包含語法、範例及適用情境。If...Else 適合多變數與複雜邏輯,Select Case 則適用於單一變數的多值判斷,語法簡潔且效能較佳。文章並比較其效能、靈活性與可讀性,幫助選擇最佳控制結構。
Thumbnail
2025/03/21
本文介紹 VB.NET 的 If...Else 和 Select Case 條件判斷結構,包含語法、範例及適用情境。If...Else 適合多變數與複雜邏輯,Select Case 則適用於單一變數的多值判斷,語法簡潔且效能較佳。文章並比較其效能、靈活性與可讀性,幫助選擇最佳控制結構。
Thumbnail
看更多
你可能也想看
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
在前一篇我們已經成功地建立簽核表單及簽核節點並關聯回請假表單,而本篇會接著介紹如何管理簽核節點狀態並同步更新簽核表單狀態。
Thumbnail
你知道IG是用Django開發的嗎? 正在學習或使用Django、Flask框架開發後端的你,是否也常在享受Python語法的舒適之餘,仍然煩惱著是否該學習效率更好的GO或Laravel。
Thumbnail
你知道IG是用Django開發的嗎? 正在學習或使用Django、Flask框架開發後端的你,是否也常在享受Python語法的舒適之餘,仍然煩惱著是否該學習效率更好的GO或Laravel。
Thumbnail
上一篇說明了如何在Kubernetes上建立基本的MySQL standalone,並加入phpmyadmin(PMA)來進行圖形化的管理,本篇就再進階一步,實作MySQL replication架構(master-salve),並進行驗證是否成功。
Thumbnail
上一篇說明了如何在Kubernetes上建立基本的MySQL standalone,並加入phpmyadmin(PMA)來進行圖形化的管理,本篇就再進階一步,實作MySQL replication架構(master-salve),並進行驗證是否成功。
Thumbnail
本文記錄如何在Kubernetes環境下,部署Standalone架構的MySQL Database,並透過phpmyadmin進行管理。這篇文章將分成MySQL部署在K8S內的優勢、部署MySQL DB standalone、部署PhpMyAdmin (PMA)、結論四個部分進行說明與實作的流程。
Thumbnail
本文記錄如何在Kubernetes環境下,部署Standalone架構的MySQL Database,並透過phpmyadmin進行管理。這篇文章將分成MySQL部署在K8S內的優勢、部署MySQL DB standalone、部署PhpMyAdmin (PMA)、結論四個部分進行說明與實作的流程。
Thumbnail
本文介紹了 Django 專案中各個檔案的用途,包括 settings.py、tests.py、models.py 等。並且解釋了 MTV 架構的後端運作流程,以及相對應的範例介紹。閱讀本文可幫助讀者更好地瞭解 Django 後端開發。
Thumbnail
本文介紹了 Django 專案中各個檔案的用途,包括 settings.py、tests.py、models.py 等。並且解釋了 MTV 架構的後端運作流程,以及相對應的範例介紹。閱讀本文可幫助讀者更好地瞭解 Django 後端開發。
Thumbnail
本文將介紹如何從頭開始建立一個Django專案,包括安裝和設定,以及創建管理員帳戶和新的app。透過本文,你可以學習到建立自己的網頁的所有步驟和設定。
Thumbnail
本文將介紹如何從頭開始建立一個Django專案,包括安裝和設定,以及創建管理員帳戶和新的app。透過本文,你可以學習到建立自己的網頁的所有步驟和設定。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News