koa实战-动态评论管理系统

104 阅读1分钟

一. 发表评论功能

1.1 创建评论管理表

id:唯一的主键;content:评论的内容;

moment_id:评论哪条动态(外键约束 moment.id,不能为空);

user_id:谁评论?(外键约束 users_id,不能为空);

comment_id:评论的id。说明:为null时,表示评论该条动态,为3时,表示评论第3条评论

createAt:评论创建的时间;updateAt:评论更新的时间

CREATE TABLE IF NOT EXISTS `comment`(
	id INT PRIMARY KEY AUTO_INCREMENT,
	content VARCHAR(1000) NOT NULL,
	moment_id INT NOT NULL,
	user_id INT NOT NULL,
	comment_id INT DEFAULT NULL,
	createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
	updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
	
	FOREIGN KEY(moment_id) REFERENCES moment(id) ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY(comment_id) REFERENCES comment(id) ON DELETE CASCADE ON UPDATE CASCADE
);

CASCADE

定义:在父表上 update/delete 记录时,同步 update/delete 掉子表的匹配记录

  • 删除:删除主表时自动删除从表。删除从表,主表不变

  • 更新:更新主表时自动更新从表。更新从表,主表不变

场景:当某条动态删除了,与之相关的评论也随之删除。

注意:

  1. 服务器报 500 的错误,可能是逻辑不通,代码不对