重新架构 TinyPad
自从到了深圳找到工作后就一直无暇顾及料理这个博客,更别说将 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;