我們簡單介紹下django 資料庫同步的工具:
1. syncdb
django自帶了乙個簡易的資料庫同步工具:syncdb
./manage.py syncdb 根據models.py建立資料庫表
./manage.py validate 檢驗資料模型**是否正確
./manage.py sql 顯示表建立的sql指令碼
./manage.py sqlall sql命令的基礎上,增加建立資料庫sql指令碼
./manage.py sqlindexes 顯示主鍵索引建立的sql指令碼
./manage.py sqlclear 顯示表刪除的sql指令碼
./manage.py sqlreset 刪除表,然後重新建立表
./manage.py sqlcustom 顯示.sql檔案中的自定義sql語句
./manage.py loaddata 載入初始值
./manage.py dumpdata 將資料備份到 json 或者 xml
從上面可以看出,自帶syncdb工具對於資料庫更新比較麻煩。
2. southmakemigrations
針對django自帶的syncdb同步models和資料庫的缺陷開發的資料遷移工具,可以作為syncdb的替代,south能夠檢測對models的更改並同步到資料庫。
但是由於django1.7版本之後就已經不支援south了,所以我這裡就不多描述它的使用了。
3. migrations
django migrations從1.7版本之後支援。
migrations是django自帶的一種 把models中的修改同步到資料庫 的解決方案。
migrations命令如下:
makemigrations -- 當你修改了model時,此命令根據changes建立新的migrations檔案
migrate -- 用來提交產生的migrations檔案到資料庫,類似與commit,同時還可以listing their status
sqlmigrate -- 為migrations顯示sql語句
使用流程也是先makemigrations 產成檔案,然後migrate 提交migrations到資料庫。
其實說白了django migrations就是資料庫表結構的乙個版本控制系統。
Django同步資料庫
問題描述 使用django部署web應用時,同步資料庫遇到問題 root localhost chickenrun manage.py syncdb nameerror name amdin is not defined 直接去python的直譯器中,檢測django.contrib.admin 環...
Django 同步資料庫
1.配置django資料庫連線資訊 將如下 替換到settings.py下。databases 2.同步資料庫 事先建立好資料庫,庫名為 django,同上面配置資訊的庫名一致。1 生成同步檔案,django自帶乙個專門的工具叫migrations,負責把你的orm表轉成實際的表結構,它不旦可以幫自...
Django1 9 models資料庫同步問題
在django1.9之前,資料庫同步只需要一條命令,那就是python manage.py syncdb,後來改版了,網上全部教程都扯了蛋了,有些寫了一下關於django1.9的資料庫同步方法但是很丈二。然後在執行runserver之前,再執行乙個 python manage migrate,這樣就...