首页 > My Projects > 重新架构 TinyPad

重新架构 TinyPad

2009年7月16日 发表评论 阅读评论

自从到了深圳找到工作后就一直无暇顾及料理这个博客,更别说将 TinyPad “善终”了。在公司完成了几个项目后,又学到不少架构方面的经验,徒的一下子找到了解决以前一直困扰自己的 post 与 talk 混合输出的问题,其实很简单,就是增加一个序列表就可以了,以前咋就没往这思路上走捏,哎……创意匮乏亚。

于是便完成了如下建表,本来想将表类型建成 InnoDB 并设置外键的,后来想想这样作用不大反而某些方面不好用了,才又作罢。

CREATE TABLE IF NOT EXISTS `mc_entries` (
    `entryid` bigint(20) NOT NULL AUTO_INCREMENT,
    `cateid` bigint(20) NOT NULL DEFAULT ‘0’,
    `tagid` varchar(255) NOT NULL DEFAULT ”,
    `title` varchar(255) NOT NULL DEFAULT ”,
    `slug` varchar(255) NOT NULL DEFAULT ”,
    `pubdate` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
    `modified` datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
    `summary` text NOT NULL,
    `content` longtext NOT NULL,
    `downurls` text NOT NULL,
    `pinged` text NOT NULL,
    `type` enum(‘blog’,’talk’,’down’) NOT NULL DEFAULT ‘blog’,
    `state` enum(‘published’,’draft’) NOT NULL DEFAULT ‘draft’,
    `feedback` enum(‘all’,’comm’,’trac’,’close’) NOT NULL DEFAULT ‘all’,
    `feedback_count` bigint(20) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (`entryid`),
    KEY `type` (`type`),
    KEY `state` (`state`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `mc_posts` (
    `postid` bigint(20) NOT NULL AUTO_INCREMENT,
    `entryid` bigint(20) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (`postid`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `mc_talks` (
    `talkid` bigint(20) NOT NULL AUTO_INCREMENT,
    `entryid` bigint(20) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (`talkid`)
) ENGINE=MyISAM;

CREATE TABLE IF NOT EXISTS `mc_downs` (
    `downid` bigint(20) NOT NULL AUTO_INCREMENT,
    `entryid` bigint(20) NOT NULL DEFAULT ‘0’,
    PRIMARY KEY (`downid`)
) ENGINE=MyISAM;

分类: My Projects 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.