簡體   English   中英

如何查看 django sqlite3 db 的數據庫和架構

[英]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

首先,運行以下命令:

python manage.py dbshell

要訪問sqlite3 命令行客戶端,如下所示:

在此處輸入圖像描述

然后,運行以下命令:

.table

或運行以下命令:

.tables

要顯示SQLite中的所有表格,如下所示:

在此處輸入圖像描述

然后,運行以下命令:

.schema --indent store_product

要顯示“store_product”表的架構,如下所示:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM