django中的syncdb命令


sqlall 命令並沒有在數據庫中真正創建數據表,只是把SQL語句段打印出來,這樣你可以看到Django究竟會做些什么。 如果你想這么做的話,你可以把那些SQL語句復制到你的數據庫客戶端執行,或者通過Unix管道直接進行操作(例如,`` python manager.py sqlall books | psql mydb`` )。不過,Django提供了一種更為簡易的提交SQL語句至數據庫的方法: `` syncdb`` 命令

python manage.py syncdb

執行這個命令后,將看到類似以下的內容:

Creating table books_publisher
Creating table books_author
Creating table books_book
Installing index for books.Book model

   syncdb 命令是同步你的模型到數據庫的一個簡單方法。 它會根據 INSTALLED_APPS 里設置的app來檢查數據庫, 如果表不存在,它就會創建它。 需要注意的是, syncdb不能將模型的修改或刪除同步到數據庫;如果你修改或刪除了一個模型,並想把它提交到數據庫,syncdb並不會做出任何處理。

    如果你再次運行 python manage.py syncdb ,什么也沒發生,因為你沒有添加新的模型或者 添加新的app。因此,運行python manage.py syncdb總是安全的,因為它不會重復執行SQL語句。

    如果你有興趣,花點時間用你的SQL客戶端登錄進數據庫服務器看看剛才Django創建的數據表。 你可以手動啟動命令行客戶端(例如,執行PostgreSQL的`` psql`` 命令),也可以執行 `` python manage.py dbshell``  ,這個命令將依據`` DATABASE_SERVER`` 的里設置自動檢測使用哪種命令行客戶端。 常言說,后來者居上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM