drupal的資料模型之一 版本維護與多語種

2021-08-30 16:59:27 字數 3332 閱讀 9247

在實施完乙個**的內容管理之後,抽空看了drupal,我的關注點在資料庫表設計。遺憾的是沒有找到其資料模型的文件。所以不得不一邊按教程做例項,一邊觀察後台資料的變化,以此試圖理解其資料模型。

相關工具及用途如下:

drupal非常簡潔地用兩個表,就解決了內容的版本維護和多語種的問題。這兩個表是node(內容節點)表和node_revisions(節點修訂版本)表。

前者描述節點的基本屬性,與一條確定的內容對應,字段含義如下:

no.logical name

physical name

type

null

default value

description

1nidnid

mediumint(10)n

auto increment

節點id

2vidvid

mediumint(10)n

當前版本id

3typetype

varchar(32)n

節點型別

4languagelanguage

varchar(12)n

語種 5

titletitle

varchar(255)n

題名 6

uiduid

int(10)n

節點編輯使用者id

7statusstatus

int(10)n

狀態 8

createdcreated

int(10)n

建立時間

9changedchanged

int(10)n

修改時間

10commentcomment

int(10)n

11promotepromote

int(10)n

推薦首頁

12moderatemoderate

int(10)n

13stickysticky

int(10)n

?? 14

tnidtnid

mediumint(10)n

翻譯的源節點

15translatetranslate

int(10)n

已翻譯

後者記錄節點的各個修改版本。字段含義如下:

no.logical name

physical name

type

null

default value

description

1nidnid

mediumint(10)n

節點id

2vidvid

mediumint(10)n

auto increment

節點版本

3uiduid

int(10)n

編輯節點的使用者id

4titletitle

varchar(255)n

題名 5

bodybody

longtextn

正文 6

teaserteaser

longtextn

正文摘要

7loglog

longtextn

日誌備註

8timestamptimestamp

int(10)n

建立時間

9formatformat

int(10)n

格式

node_revisions通過表中的nid指向node中的多版本對應的同乙個內容節點。

node則通過tnid指向多語種翻譯對應的源節點,可以圖示如下:

附件是amaterasuml生成的html格式的資料庫表說明。

HTTP協議入門(一) 版本

當我們在瀏覽器的位址列輸入url後,資訊會被傳送到web伺服器,伺服器得到響應,將資料傳輸回來,展示到web頁面上,這其中的傳輸方法就是http協議。只支援get請求方法,伺服器響應返回的資料格式為,html格式的字串 get index.html不支援請求頭,所以內容格式只能是純文字 無狀態性,請...

git 回滾某一版本

今天git commit 後,在git push 後面沒有加上 遠端分支,直接git push了,導致 沒有push 到origin 庫,而是直接push到了gitlab 庫。在gerrit上檢視一直沒有看到提交的資訊,但git fetch origin,git pull rebase,一直能拉下來...

git 推到某一版本 Git回退版本

不小心對node modules資料夾進行了修改,而且順手就push到遠端了,一下子多了幾百檔案changes,遂想辦法回退版本。首先用git log檢視版本號,找到想回退到的版本號,然後最笨的辦法就是當前做的東西手動複製貼上,然後整個檔案git reset hard 版本號。完成之後新增重新編輯檔...