[英]How to view database and schema of django sqlite3 db
我是 django 框架的新手。
我嘗試按照 djangogirls 教程創建一個簡單的博客。
默認情況下,我們將 sqlite3 作為默認數據庫引擎:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
我也嘗試了一些ORM 查詢,甚至執行了一些行 sql 查詢
在我的 django 項目中,我有這個db.sqlite3文件:
blog db.sqlite3 env manage.py mysite
我的問題:如何知道 django 在這個 db.sqlite3 中創建的架構(我知道 mysql 在那里我可以看到有關每個數據庫和表的詳細信息,所以在這里我只想了解更多關於 sqlite 的內容)
我的系統中有 sqlite3 並且我嘗試了.database 命令,但它只是向我顯示:
seq name file
--- --------------- ----------------------------------------------------------
0 main
轉到數據庫所在的文件夾,然后
sqlite3 db.sqlite3
然后
.tables
或 .schema
取決於你想要什么。 您可以不直接調用 sqlite3
python manage.py dbshell
然后輸入sqlite命令。
如果您使用的是遺留數據庫,則可以使用
python manage.py inspectdb
請參閱https://docs.djangoproject.com/en/3.0/ref/django-admin/#django-admin-inspectdb了解更多信息。
但是請幫自己一個忙,並獲得一個 GUI 數據庫客戶端。 有了它,生活就輕松多了。
我已經絆倒了一個小時,目的是在 Django shell 中復制DESCRIBE
表,並認為我已經破解了它。 我希望這對其他人有用。
在終端中 - 輸入以下命令。
python3 manage.py dbshell
.tables
找到您要查找的表的名稱,然后運行以下命令:
.header on
.mode column
pragma table_info('table you are looking for');
不要忘記最后一條指令中的分號。
您可以使用以下命令獲取創建的數據庫的 sql 腳本。
python manage.py sqlmigrate app_label migration_name
您可以在線查看您的 db.sqlite 文件。
sqlite在線
只需將您的文件上傳到那里,您就可以看到您的 db.sqlite 文件中的表格。
只是想補充一點,有人可以在 my_project_name>my_app_name>migrations 下找到遷移,通常你會選擇數量最大的那個。
那么命令應該是這樣的: python manage.py sqlmigrate my_app_name number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.