您的位置:首页 > 运维架构

drupal的数据模型之一——版本维护与多语种

2015-12-12 00:00 337 查看
  在实施完一个网站的内容管理之后,抽空看了drupal,我的关注点在数据库表设计。遗憾的是没有找到其数据模型的文档。所以不得不一边按教程做实例,一边观察后台数据的变化,以此试图理解其数据模型。
  相关工具及用途如下:

drupal-6.16:研究对象

phpmyadmin:观察后台数据

AmaterasUML:描述数据模型

  drupal非常简洁地用两个表,就解决了内容的版本维护和多语种的问题。这两个表是node(内容节点)表和node_revisions(节点修订版本)表。

  前者描述节点的基本属性,与一条确定的内容对应,字段含义如下:

No. Logical Name Physical Name Type Null Default Value Description
1 nid
nid
MEDIUMINT(10)
N AUTO INCREMENT
节点id
2 vid
vid
MEDIUMINT(10)
N 当前版本id
3 type
type
VARCHAR(32)
N 节点类型
4 language
language
VARCHAR(12)
N 语种
5 title
title
VARCHAR(255)
N 题名
6 uid
uid
INT(10)
N 节点编辑用户id
7 status
status
INT(10)
N 状态
8 created
created
INT(10)
N 建立时间
9 changed
changed
INT(10)
N 修改时间
10 comment
comment
INT(10)
N 评论设置
0:禁止新的评论,并隐藏已有评论
1:禁止新的评论,但显示已有的评论
2:允许评 论,并显示已有评论
11 promote
promote
INT(10)
N 推荐首页
12 moderate
moderate
INT(10)
N 评论设置
13 sticky
sticky
INT(10)
N ??
14 tnid
tnid
MEDIUMINT(10)
N 翻译的源节点
15 translate
translate
INT(10)
N 已翻译
  后者记录节点的各个修改版本。字段含义如下:

No. Logical Name Physical Name Type Null Default Value Description
1 nid
nid
MEDIUMINT(10)
N 节点id
2 vid
vid
MEDIUMINT(10)
N AUTO INCREMENT
节点版本
3 uid
uid
INT(10)
N 编辑节点的用户id
4 title
title
VARCHAR(255)
N 题名
5 body
body
LONGTEXT
N 正文
6 teaser
teaser
LONGTEXT
N 正文摘要
7 log
log
LONGTEXT
N 日志备注
8 timestamp
timestamp
INT(10)
N 创建时间
9 format
format
INT(10)
N 格式
node_revisions通过表中的nid指向node中的多版本对应的同一个内容节点。

node则通过tnid指向多语种翻译对应的源节点,可以图示如下:



附件是AmaterasUML生成的html格式的数据库表说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  drupal 模型