drupal的数据模型之一——版本维护与多语种
2015-12-12 00:00
337 查看
在实施完一个网站的内容管理之后,抽空看了drupal,我的关注点在数据库表设计。遗憾的是没有找到其数据模型的文档。所以不得不一边按教程做实例,一边观察后台数据的变化,以此试图理解其数据模型。
相关工具及用途如下:
drupal-6.16:研究对象
phpmyadmin:观察后台数据
AmaterasUML:描述数据模型
drupal非常简洁地用两个表,就解决了内容的版本维护和多语种的问题。这两个表是node(内容节点)表和node_revisions(节点修订版本)表。
前者描述节点的基本属性,与一条确定的内容对应,字段含义如下:
后者记录节点的各个修改版本。字段含义如下:
node_revisions通过表中的nid指向node中的多版本对应的同一个内容节点。
node则通过tnid指向多语种翻译对应的源节点,可以图示如下:
附件是AmaterasUML生成的html格式的数据库表说明。
相关工具及用途如下:
drupal-6.16:研究对象
phpmyadmin:观察后台数据
AmaterasUML:描述数据模型
drupal非常简洁地用两个表,就解决了内容的版本维护和多语种的问题。这两个表是node(内容节点)表和node_revisions(节点修订版本)表。
前者描述节点的基本属性,与一条确定的内容对应,字段含义如下:
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 | 已翻译 |
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则通过tnid指向多语种翻译对应的源节点,可以图示如下:
附件是AmaterasUML生成的html格式的数据库表说明。
相关文章推荐
- drupal中hook_menu()使用
- Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
- JavaScript对象模型-执行模型
- C++中事件机制的简洁实现及需要放弃的特性
- 第二节 对象模型 [2]
- ASP.NET中实现Form表单字段值自动填充到操作模型中
- Java线程模型缺陷
- thinkPHP模型初始化实例分析
- Android编程中关于单线程模型的理解与分析
- Drupal简体中文语言包安装教程
- ThinkPHP实例化模型的四种方法概述
- Drupal读取Excel并导入数据库实例
- ThinkPHP实现非标准名称数据表快速创建模型的方法
- ThinkPHP模型详解
- Laravel 5框架学习之模型、控制器、视图基础流程
- 在Django的模型中添加自定义方法的示例
- 通过数据库对Django进行删除字段和删除模型的操作
- 在Django的模型中执行原始SQL查询的方法
- 通过数据库向Django模型添加字段的示例
- Drupal常用模块(带中文说明)