tblog/install.sql
2026-06-01 09:48:36 +08:00

58 lines
No EOL
2 KiB
SQL

CREATE TABLE IF NOT EXISTS `categories` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(100) NOT NULL COMMENT '分类名称',
`slug` VARCHAR(100) NOT NULL COMMENT 'URL别名',
`description` TEXT,
`parent_id` INT DEFAULT 0,
`order_num` INT DEFAULT 0,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `posts` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`title` VARCHAR(255) NOT NULL COMMENT '标题',
`content` LONGTEXT NOT NULL COMMENT '正文',
`excerpt` TEXT COMMENT '摘要',
`slug` VARCHAR(200) NOT NULL COMMENT 'URL别名',
`category_id` INT DEFAULT 1,
`template` VARCHAR(50) DEFAULT 'flow',
`status` ENUM('draft','published') DEFAULT 'published',
`views` INT DEFAULT 0,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`deleted_at` DATETIME DEFAULT NULL,
KEY `slug` (`slug`),
KEY `category_id` (`category_id`),
KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `comments` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`post_id` INT NOT NULL,
`author` VARCHAR(100) NOT NULL COMMENT '评论者',
`email` VARCHAR(200) DEFAULT '',
`url` VARCHAR(500) DEFAULT '',
`content` TEXT NOT NULL,
`ip` VARCHAR(50) DEFAULT '',
`status` ENUM('pending','approved','rejected') DEFAULT 'pending',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
KEY `post_id` (`post_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS `settings` (
`key` VARCHAR(100) PRIMARY KEY,
`value` TEXT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Default data
INSERT INTO `categories` (`name`, `slug`, `description`, `order_num`) VALUES
('技术', 'tech', '技术文章', 1),
('生活', 'life', '生活随笔', 2),
('摄影', 'photo', '摄影作品', 3);
INSERT INTO `settings` (`key`, `value`) VALUES
('site_name', '张璞博客'),
('site_description', '一个简洁优雅的博客'),
('template', 'flow'),
('posts_per_page', '10');