在實施完乙個**的內容管理之後,抽空看了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
longtext
n
正文 6
teaserteaser
longtext
n
正文摘要
7loglog
longtext
n
日誌備註
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 版本號。完成之後新增重新編輯檔...