调整数据库字段,优化部分接口 #1
149
blog.iml
149
blog.iml
@@ -1,149 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
|
|
||||||
<component name="FacetManager">
|
|
||||||
<facet type="Spring" name="Spring">
|
|
||||||
<configuration />
|
|
||||||
</facet>
|
|
||||||
<facet type="web" name="Web">
|
|
||||||
<configuration>
|
|
||||||
<webroots />
|
|
||||||
<sourceRoots>
|
|
||||||
<root url="file://$MODULE_DIR$/src/main/java" />
|
|
||||||
<root url="file://$MODULE_DIR$/src/main/resources" />
|
|
||||||
</sourceRoots>
|
|
||||||
</configuration>
|
|
||||||
</facet>
|
|
||||||
</component>
|
|
||||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
|
||||||
<output url="file://$MODULE_DIR$/target/classes" />
|
|
||||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
|
||||||
<content url="file://$MODULE_DIR$">
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
|
||||||
</content>
|
|
||||||
<orderEntry type="inheritedJdk" />
|
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
|
|
||||||
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.9.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.16" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.16" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.16" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.14.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: javax.validation:validation-api:2.0.1.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.15" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.9.10" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.9.10" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.2" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
|
|
||||||
<orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.alibaba:druid:1.1.14" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.6" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.10" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.10" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-core:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.google.guava:guava:18.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.25" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.0.0.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.6.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.youbenzi:MDTool:1.2.3" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: net.sf.json-lib:json-lib:jdk15:2.4" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.8.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.5" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: net.sf.ezmorph:ezmorph:1.0.6" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.qiniu:qiniu-java-sdk:7.2.27" level="project" />
|
|
||||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okhttp3:okhttp:3.14.4" level="project" />
|
|
||||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.squareup.okio:okio:1.17.2" level="project" />
|
|
||||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-mail:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.sun.mail:javax.mail:1.6.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: javax.activation:activation:1.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-redis:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-redis:2.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-keyvalue:2.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-oxm:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.lettuce:lettuce-core:5.1.4.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-handler:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-buffer:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-transport:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.netty:netty-resolver:4.1.33.Final" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.projectreactor:reactor-core:3.2.6.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.reactivestreams:reactive-streams:1.0.2" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.1.3.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.2.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.1.5.RELEASE" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.0.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-starter:1.2.12" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper-spring-boot-autoconfigure:1.2.12" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.github.pagehelper:pagehelper:5.1.10" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:2.0" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.dyuproject.protostuff:protostuff-core:1.0.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.dyuproject.protostuff:protostuff-api:1.0.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.dyuproject.protostuff:protostuff-runtime:1.0.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.dyuproject.protostuff:protostuff-collectionschema:1.0.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: eu.bitwalker:UserAgentUtils:1.20" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt:0.9.1" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.8" level="project" />
|
|
||||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.8" level="project" />
|
|
||||||
</component>
|
|
||||||
</module>
|
|
||||||
270
blog.sql
270
blog.sql
@@ -1,92 +1,178 @@
|
|||||||
CREATE DATABASE `blog`;
|
CREATE DATABASE `t_blog`;
|
||||||
|
|
||||||
USE blog;
|
USE t_blog;
|
||||||
|
|
||||||
CREATE TABLE `article`
|
CREATE TABLE `article`
|
||||||
(
|
(
|
||||||
`a_id` bigint(20) primary key auto_increment,
|
`a_id` bigint(20) primary key auto_increment,
|
||||||
`a_title` varchar(255) not null unique comment '文章标题',
|
`a_title` varchar(255) not null unique comment '文章标题',
|
||||||
`a_summary` varchar(255) not null comment '文章摘要',
|
`a_summary` varchar(255) not null comment '文章摘要',
|
||||||
`a_md_content` longtext not null comment '文章Markdown内容',
|
`a_md_content` longtext not null comment '文章Markdown内容',
|
||||||
`a_tags_id` varchar(255) not null comment '标签id \',\'处于最尾端',
|
`a_url` tinytext default null comment '转载文章的原文链接',
|
||||||
`a_category_id` bigint(20) not null comment '分类的id',
|
`a_author_id` int not null comment '作者id',
|
||||||
`a_url` tinytext default null comment '转载文章的原文链接',
|
`a_is_original` boolean default true comment '文章是否原创',
|
||||||
`a_author_id` bigint(20) not null comment '作者id',
|
`a_reading_number` int default 0 comment '文章阅读数',
|
||||||
`a_is_open` boolean default true comment '文章是否可见',
|
`a_like` int default 0 comment '文章点赞数',
|
||||||
`a_is_original` boolean default true comment '文章是否原创',
|
`a_dislike` int default 0 comment '文章不喜欢数',
|
||||||
`next_a_id` bigint(20) default -1 comment '下篇文章id',
|
`a_category_id` int not null comment '文章分类id',
|
||||||
`pre_a_id` bigint(20) default -1 comment '前一篇文章的id',
|
`a_publish_date` datetime default CURRENT_TIMESTAMP comment '文章发布时间',
|
||||||
`a_reading_number` int default 0 comment '文章阅读数',
|
`a_update_date` datetime default null comment '文章的更新时间',
|
||||||
`a_publish_date` datetime not null comment '文章发布时间',
|
`a_is_open` boolean default true comment '文章是否可见',
|
||||||
`a_update_date` datetime default null comment '文章的更新时间'
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
) DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci,comment '文章表';
|
) DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE utf8mb4_general_ci,comment '文章表';
|
||||||
CREATE TABLE `tag`
|
|
||||||
(
|
CREATE TABLE `article_tag`
|
||||||
`tag_id` bigint(20) primary key auto_increment,
|
(
|
||||||
`tag_name` varchar(255) unique not null,
|
`at_id` bigint(20) primary key auto_increment,
|
||||||
`articles` tinytext default null comment 'tag对应的文章id'
|
`a_id` bigint(20) not null comment '文章id',
|
||||||
) comment '标签表';
|
`t_id` bigint not null comment 'tag/category 的id',
|
||||||
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
CREATE table `category`
|
) comment '文章标签表';
|
||||||
(
|
|
||||||
`c_id` bigint(20) primary key auto_increment,
|
CREATE TABLE `tag_category`
|
||||||
`c_name` varchar(255) unique not null,
|
(
|
||||||
`articles` varchar(255) comment '分类下的文章'
|
`t_id` bigint(20) primary key auto_increment,
|
||||||
)comment '分类表';
|
`t_name` varchar(255) not null,
|
||||||
|
`is_category` boolean not null default true,
|
||||||
CREATE TABLE `comment`
|
) comment '标签和分类表';
|
||||||
(
|
|
||||||
`co_id` bigint(20) primary key auto_increment,
|
CREATE TABLE `comment`
|
||||||
`co_article_id` bigint(20) default -1 comment '文章id',
|
(
|
||||||
`is_comment` boolean default true comment '是否是评论',
|
`co_id` bigint(20) primary key auto_increment,
|
||||||
`author_id` bigint(20) not null comment '留言者id',
|
`co_page_path` varchar(255) not null comment '评论/留言的页面',
|
||||||
`co_content` text not null comment '评论/留言内容',
|
`co_content` text not null comment '评论/留言内容',
|
||||||
`co_date` datetime not null comment '评论/留言的日期',
|
`co_date` datetime not null comment '评论/留言的日期',
|
||||||
`co_pid` bigint not null default -1 comment '评论/留言的父id',
|
`co_status` tinyint not null default 0 comment '评论的状态',
|
||||||
`co_response_id` tinytext
|
`co_pid` bigint not null default -1 comment '评论/留言的父id',
|
||||||
) DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci,comment '评论/留言表';
|
`co_from_author_id` int not null comment '留言者id',
|
||||||
|
`co_to_author_id` int default null comment '父评论的作者id',
|
||||||
CREATE TABLE `links`
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
(
|
) DEFAULT CHARSET = utf8mb4
|
||||||
`site_id` bigint(20) primary key auto_increment,
|
COLLATE utf8mb4_general_ci,comment '评论/留言表';
|
||||||
`site_name` varchar(255) not null comment '友站名称',
|
|
||||||
`is_open` boolean default true comment '是否公开',
|
|
||||||
`site_url` varchar(255) not null comment '首页地址'
|
|
||||||
) comment '友站表';
|
CREATE TABLE `links`
|
||||||
|
(
|
||||||
CREATE TABLE `visitor`
|
`l_id` bigint(20) primary key auto_increment,
|
||||||
(
|
`l_name` varchar(255) not null comment '友站名称',
|
||||||
`v_id` bigint(20) primary key auto_increment,
|
`l_is_open` boolean default true comment '是否公开',
|
||||||
`v_date` datetime not null comment '访问时间',
|
`l_url` varchar(255) not null comment '首页地址',
|
||||||
`v_ip` varchar(255) not null comment '访客ip',
|
`l_icon_path` varchar(255) not null comment '友链的icon地址',
|
||||||
`v_user_agent` text comment '访客ua'
|
`l_desc` varchar(255) not null comment '友链的说明描述',
|
||||||
) comment '访客表';
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
|
) comment '友站表';
|
||||||
|
|
||||||
|
CREATE TABLE `visitor`
|
||||||
CREATE TABLE IF NOT EXISTS `web_update`
|
(
|
||||||
(
|
`v_id` bigint(20) primary key auto_increment,
|
||||||
`update_id` bigint(20) primary key auto_increment,
|
`v_date` datetime not null comment '访问时间',
|
||||||
`update_info` varchar(255) not null comment '更新内容',
|
`v_ip` varchar(255) not null comment '访客ip',
|
||||||
`update_time` datetime not null comment '更新时间'
|
`v_user_agent` text comment '访客ua',
|
||||||
) comment '更新内容表';
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
|
) comment '访客表';
|
||||||
create table `user`
|
|
||||||
(
|
CREATE TABLE `web_update`
|
||||||
`u_id` int not null primary key auto_increment,
|
(
|
||||||
`u_email` varchar(50) not null,
|
`wu_id` int primary key auto_increment,
|
||||||
`u_uid` varchar(40) default null comment '用户唯一标识码',
|
`wu_info` varchar(255) not null comment '更新内容',
|
||||||
`u_pwd` varchar(40) not null comment '密码',
|
`wu_time` datetime not null comment '更新时间',
|
||||||
`email_status` boolean default false comment '邮箱验证状态',
|
`is_delete` boolean not null default false comment '该数据是否被删除'
|
||||||
`u_avatar` varchar(255) comment '用户头像',
|
) comment '更新内容表';
|
||||||
`u_desc` tinytext comment '用户的描述',
|
|
||||||
`recently_landed_time` datetime comment '最近的登录时间',
|
CREATE TABLE `user`
|
||||||
`email_verify_id` varchar(40) comment '用于找回密码或验证邮箱的id',
|
(
|
||||||
`display_name` varchar(30) comment '展示的昵称',
|
`u_id` int not null primary key auto_increment,
|
||||||
`role` varchar(40) not null default 'user' comment '权限组',
|
`u_email` varchar(50) not null,
|
||||||
unique key `uni_user_id` (`u_id`),
|
`u_pwd` varchar(40) not null comment '密码',
|
||||||
unique key `uni_user_uid` (`u_uid`),
|
`u_email_status` boolean default false comment '邮箱验证状态',
|
||||||
unique key `uni_user_email` (`u_email`)
|
`u_avatar` varchar(255) default null comment '用户头像',
|
||||||
) comment '用户表';
|
`u_desc` tinytext default null comment '用户的描述',
|
||||||
|
`u_recently_landed_time` datetime default null comment '最近的登录时间',
|
||||||
|
`u_display_name` varchar(30) default null comment '展示的昵称',
|
||||||
|
`u_role` varchar(40) not null default 'user' comment '权限组',
|
||||||
|
`status` tinyint(1) not null default 0 comment '账户状态',
|
||||||
|
unique key `uni_user_id` (`u_id`),
|
||||||
|
unique key `uni_user_email` (`u_email`)
|
||||||
|
) comment '用户表';
|
||||||
|
|
||||||
|
|
||||||
|
CREATE VIEW articleView
|
||||||
|
(articleId, title, summary, mdContent, url, isOriginal, readingCount, likeCount, dislikeCount,
|
||||||
|
publishDate, updateDate, isOpen,
|
||||||
|
categoryId, categoryName, tagId, tagName,
|
||||||
|
authorId, userEmail, userAvatar, userDisplayName, isDelete)
|
||||||
|
as
|
||||||
|
select article.a_id as articleId,
|
||||||
|
article.a_title as title,
|
||||||
|
article.a_summary as summary,
|
||||||
|
article.a_md_content as mdContent,
|
||||||
|
article.a_url as url,
|
||||||
|
article.a_is_original as isOriginal,
|
||||||
|
article.a_reading_number as readingCount,
|
||||||
|
article.a_like as likeCount,
|
||||||
|
article.a_dislike as dislikeCount,
|
||||||
|
article.a_publish_date as publishDate,
|
||||||
|
article.a_update_date as updateDate,
|
||||||
|
article.a_is_open as isOpen,
|
||||||
|
category.t_id as categoryId,
|
||||||
|
category.t_name as categoryName,
|
||||||
|
tag.t_id as tagId,
|
||||||
|
tag.t_name as tagName,
|
||||||
|
user.u_id as authorId,
|
||||||
|
user.u_email as userEmail,
|
||||||
|
user.u_avatar as userAvatar,
|
||||||
|
user.u_display_name as userDisplayName,
|
||||||
|
article.is_delete as isDelete
|
||||||
|
from article,
|
||||||
|
tag_category as tag,
|
||||||
|
tag_category as category,
|
||||||
|
article_tag,
|
||||||
|
user
|
||||||
|
where article.a_id = article_tag.a_id
|
||||||
|
and article_tag.t_id = tag.t_id
|
||||||
|
and tag.is_category = false
|
||||||
|
and article.a_category_id = category.t_id
|
||||||
|
and category.is_category = true
|
||||||
|
and article.a_author_id = user.u_id;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE VIEW commentView
|
||||||
|
(commentId, pagePath, content, date, status, pid, toAuthorId, toAuthorEmail, toAuthorDisplayName,
|
||||||
|
toAuthorAvatar, fromAuthorId, fromAuthorEmail, fromAuthorDisplayName,
|
||||||
|
fromAuthorAvatar, isDelete)
|
||||||
|
as
|
||||||
|
select cuT.co_id as commentId,
|
||||||
|
cuT.co_page_path as pagePath,
|
||||||
|
cuT.co_content as content,
|
||||||
|
cuT.co_date as date,
|
||||||
|
cuT.co_status as status,
|
||||||
|
cuT.co_pid as pid,
|
||||||
|
cuT.co_to_author_id as toAuthorId,
|
||||||
|
cuT.toEmail as toAuthorEmail,
|
||||||
|
cuT.toDisplayName as toAuthorDisplayName,
|
||||||
|
cuT.toAvatar as toAuthorAvatar,
|
||||||
|
userFrom.u_id as fromAuthorId,
|
||||||
|
userFrom.u_email as fromAuthorEmail,
|
||||||
|
userFrom.u_display_name as fromAuthorDisplayName,
|
||||||
|
userFrom.u_avatar as fromAuthorAvatar,
|
||||||
|
cuT.is_delete as isDelete
|
||||||
|
from (select comment.co_id,
|
||||||
|
comment.co_page_path,
|
||||||
|
comment.co_content,
|
||||||
|
comment.co_date,
|
||||||
|
comment.co_status,
|
||||||
|
comment.co_pid,
|
||||||
|
comment.co_from_author_id,
|
||||||
|
comment.co_to_author_id,
|
||||||
|
userTo.u_email as toEmail,
|
||||||
|
userTo.u_display_name as toDisplayName,
|
||||||
|
userTo.u_avatar as toAvatar,
|
||||||
|
comment.is_delete
|
||||||
|
from comment
|
||||||
|
left join user userTo on (comment.co_to_author_id = userTo.u_id)
|
||||||
|
) as cuT,
|
||||||
|
user as userFrom
|
||||||
|
where cuT.co_from_author_id = userFrom.u_id;
|
||||||
|
|
||||||
|
|||||||
178
newBlog.sql
178
newBlog.sql
@@ -1,178 +0,0 @@
|
|||||||
CREATE DATABASE `t_blog`;
|
|
||||||
|
|
||||||
USE t_blog;
|
|
||||||
|
|
||||||
CREATE TABLE `article`
|
|
||||||
(
|
|
||||||
`a_id` bigint(20) primary key auto_increment,
|
|
||||||
`a_title` varchar(255) not null unique comment '文章标题',
|
|
||||||
`a_summary` varchar(255) not null comment '文章摘要',
|
|
||||||
`a_md_content` longtext not null comment '文章Markdown内容',
|
|
||||||
`a_url` tinytext default null comment '转载文章的原文链接',
|
|
||||||
`a_author_id` int not null comment '作者id',
|
|
||||||
`a_is_original` boolean default true comment '文章是否原创',
|
|
||||||
`a_reading_number` int default 0 comment '文章阅读数',
|
|
||||||
`a_like` int default 0 comment '文章点赞数',
|
|
||||||
`a_dislike` int default 0 comment '文章不喜欢数',
|
|
||||||
`a_category_id` int not null comment '文章分类id',
|
|
||||||
`a_publish_date` datetime default CURRENT_TIMESTAMP comment '文章发布时间',
|
|
||||||
`a_update_date` datetime default null comment '文章的更新时间',
|
|
||||||
`a_is_open` boolean default true comment '文章是否可见',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) DEFAULT CHARSET = utf8mb4
|
|
||||||
COLLATE utf8mb4_general_ci,comment '文章表';
|
|
||||||
|
|
||||||
CREATE TABLE `article_tag`
|
|
||||||
(
|
|
||||||
`at_id` bigint(20) primary key auto_increment,
|
|
||||||
`a_id` bigint(20) not null comment '文章id',
|
|
||||||
`t_id` bigint not null comment 'tag/category 的id',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) comment '文章标签表';
|
|
||||||
|
|
||||||
CREATE TABLE `tag_category`
|
|
||||||
(
|
|
||||||
`t_id` bigint(20) primary key auto_increment,
|
|
||||||
`t_name` varchar(255) not null,
|
|
||||||
`is_category` boolean not null default true,
|
|
||||||
) comment '标签和分类表';
|
|
||||||
|
|
||||||
CREATE TABLE `comment`
|
|
||||||
(
|
|
||||||
`co_id` bigint(20) primary key auto_increment,
|
|
||||||
`co_page_path` varchar(255) not null comment '评论/留言的页面',
|
|
||||||
`co_content` text not null comment '评论/留言内容',
|
|
||||||
`co_date` datetime not null comment '评论/留言的日期',
|
|
||||||
`co_status` tinyint not null default 0 comment '评论的状态',
|
|
||||||
`co_pid` bigint not null default -1 comment '评论/留言的父id',
|
|
||||||
`co_from_author_id` int not null comment '留言者id',
|
|
||||||
`co_to_author_id` int default null comment '父评论的作者id',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) DEFAULT CHARSET = utf8mb4
|
|
||||||
COLLATE utf8mb4_general_ci,comment '评论/留言表';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE `links`
|
|
||||||
(
|
|
||||||
`l_id` bigint(20) primary key auto_increment,
|
|
||||||
`l_name` varchar(255) not null comment '友站名称',
|
|
||||||
`l_is_open` boolean default true comment '是否公开',
|
|
||||||
`l_url` varchar(255) not null comment '首页地址',
|
|
||||||
`l_icon_path` varchar(255) not null comment '友链的icon地址',
|
|
||||||
`l_desc` varchar(255) not null comment '友链的说明描述',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) comment '友站表';
|
|
||||||
|
|
||||||
CREATE TABLE `visitor`
|
|
||||||
(
|
|
||||||
`v_id` bigint(20) primary key auto_increment,
|
|
||||||
`v_date` datetime not null comment '访问时间',
|
|
||||||
`v_ip` varchar(255) not null comment '访客ip',
|
|
||||||
`v_user_agent` text comment '访客ua',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) comment '访客表';
|
|
||||||
|
|
||||||
CREATE TABLE `web_update`
|
|
||||||
(
|
|
||||||
`wu_id` int primary key auto_increment,
|
|
||||||
`wu_info` varchar(255) not null comment '更新内容',
|
|
||||||
`wu_time` datetime not null comment '更新时间',
|
|
||||||
`is_delete` boolean not null default false comment '该数据是否被删除'
|
|
||||||
) comment '更新内容表';
|
|
||||||
|
|
||||||
CREATE TABLE `user`
|
|
||||||
(
|
|
||||||
`u_id` int not null primary key auto_increment,
|
|
||||||
`u_email` varchar(50) not null,
|
|
||||||
`u_pwd` varchar(40) not null comment '密码',
|
|
||||||
`u_email_status` boolean default false comment '邮箱验证状态',
|
|
||||||
`u_avatar` varchar(255) default null comment '用户头像',
|
|
||||||
`u_desc` tinytext default null comment '用户的描述',
|
|
||||||
`u_recently_landed_time` datetime default null comment '最近的登录时间',
|
|
||||||
`u_display_name` varchar(30) default null comment '展示的昵称',
|
|
||||||
`u_role` varchar(40) not null default 'user' comment '权限组',
|
|
||||||
`status` tinyint(1) not null default 0 comment '账户状态',
|
|
||||||
unique key `uni_user_id` (`u_id`),
|
|
||||||
unique key `uni_user_email` (`u_email`)
|
|
||||||
) comment '用户表';
|
|
||||||
|
|
||||||
|
|
||||||
CREATE VIEW articleView
|
|
||||||
(articleId, title, summary, mdContent, url, isOriginal, readingCount, likeCount, dislikeCount,
|
|
||||||
publishDate, updateDate, isOpen,
|
|
||||||
categoryId, categoryName, tagId, tagName,
|
|
||||||
authorId, userEmail, userAvatar, userDisplayName, isDelete)
|
|
||||||
as
|
|
||||||
select article.a_id as articleId,
|
|
||||||
article.a_title as title,
|
|
||||||
article.a_summary as summary,
|
|
||||||
article.a_md_content as mdContent,
|
|
||||||
article.a_url as url,
|
|
||||||
article.a_is_original as isOriginal,
|
|
||||||
article.a_reading_number as readingCount,
|
|
||||||
article.a_like as likeCount,
|
|
||||||
article.a_dislike as dislikeCount,
|
|
||||||
article.a_publish_date as publishDate,
|
|
||||||
article.a_update_date as updateDate,
|
|
||||||
article.a_is_open as isOpen,
|
|
||||||
category.t_id as categoryId,
|
|
||||||
category.t_name as categoryName,
|
|
||||||
tag.t_id as tagId,
|
|
||||||
tag.t_name as tagName,
|
|
||||||
user.u_id as authorId,
|
|
||||||
user.u_email as userEmail,
|
|
||||||
user.u_avatar as userAvatar,
|
|
||||||
user.u_display_name as userDisplayName,
|
|
||||||
article.is_delete as isDelete
|
|
||||||
from article,
|
|
||||||
tag_category as tag,
|
|
||||||
tag_category as category,
|
|
||||||
article_tag,
|
|
||||||
user
|
|
||||||
where article.a_id = article_tag.a_id
|
|
||||||
and article_tag.t_id = tag.t_id
|
|
||||||
and tag.is_category = false
|
|
||||||
and article.a_category_id = category.t_id
|
|
||||||
and category.is_category = true
|
|
||||||
and article.a_author_id = user.u_id;
|
|
||||||
|
|
||||||
|
|
||||||
CREATE VIEW commentView
|
|
||||||
(commentId, pagePath, content, date, status, pid, toAuthorId, toAuthorEmail, toAuthorDisplayName,
|
|
||||||
toAuthorAvatar, fromAuthorId, fromAuthorEmail, fromAuthorDisplayName,
|
|
||||||
fromAuthorAvatar, isDelete)
|
|
||||||
as
|
|
||||||
select cuT.co_id as commentId,
|
|
||||||
cuT.co_page_path as pagePath,
|
|
||||||
cuT.co_content as content,
|
|
||||||
cuT.co_date as date,
|
|
||||||
cuT.co_status as status,
|
|
||||||
cuT.co_pid as pid,
|
|
||||||
cuT.co_to_author_id as toAuthorId,
|
|
||||||
cuT.toEmail as toAuthorEmail,
|
|
||||||
cuT.toDisplayName as toAuthorDisplayName,
|
|
||||||
cuT.toAvatar as toAuthorAvatar,
|
|
||||||
userFrom.u_id as fromAuthorId,
|
|
||||||
userFrom.u_email as fromAuthorEmail,
|
|
||||||
userFrom.u_display_name as fromAuthorDisplayName,
|
|
||||||
userFrom.u_avatar as fromAuthorAvatar,
|
|
||||||
cuT.is_delete as isDelete
|
|
||||||
from (select comment.co_id,
|
|
||||||
comment.co_page_path,
|
|
||||||
comment.co_content,
|
|
||||||
comment.co_date,
|
|
||||||
comment.co_status,
|
|
||||||
comment.co_pid,
|
|
||||||
comment.co_from_author_id,
|
|
||||||
comment.co_to_author_id,
|
|
||||||
userTo.u_email as toEmail,
|
|
||||||
userTo.u_display_name as toDisplayName,
|
|
||||||
userTo.u_avatar as toAvatar,
|
|
||||||
comment.is_delete
|
|
||||||
from comment
|
|
||||||
left join user userTo on (comment.co_to_author_id = userTo.u_id)
|
|
||||||
) as cuT,
|
|
||||||
user as userFrom
|
|
||||||
where cuT.co_from_author_id = userFrom.u_id;
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user