🎨 业务实体类继承自 LogicDeletedBaseEntity,方便逻辑删除标识,以及创建人、修改人、创建时间、修改时间等属性的统一

This commit is contained in:
b2baccline
2021-10-30 18:03:16 +08:00
parent 6613d2dff8
commit 069ae9463d
14 changed files with 147 additions and 247 deletions

View File

@@ -32,6 +32,10 @@
<groupId>com.hccake</groupId>
<artifactId>ballcat-common-i18n</artifactId>
</dependency>
<dependency>
<groupId>com.hccake</groupId>
<artifactId>ballcat-common-model</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -1,16 +1,14 @@
package com.hccake.ballcat.i18n.model.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
import java.util.Objects;
/**
@@ -23,7 +21,7 @@ import java.util.Objects;
@ToString
@TableName("i18n_data")
@ApiModel(value = "国际化信息")
public class I18nData {
public class I18nData extends BaseEntity {
private static final long serialVersionUID = 1L;
@@ -58,20 +56,6 @@ public class I18nData {
@ApiModelProperty(value = "备注")
private String remark;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 修改时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "修改时间")
private LocalDateTime updateTime;
@Override
public boolean equals(Object o) {
if (this == o) {

View File

@@ -1,10 +1,10 @@
package com.hccake.ballcat.notify.model.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import com.hccake.ballcat.notify.enums.AnnouncementStatusEnum;
import com.hccake.ballcat.notify.enums.NotifyChannelEnum;
import com.hccake.ballcat.notify.enums.NotifyRecipientFilterTypeEnum;
@@ -12,6 +12,7 @@ import com.hccake.extend.mybatis.plus.alias.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.List;
@@ -22,10 +23,11 @@ import java.util.List;
* @author hccake 2020-12-15 17:01:15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableAlias(Announcement.TABLE_ALIAS)
@TableName(value = "notify_announcement", autoResultMap = true)
@ApiModel(value = "公告信息")
public class Announcement {
public class Announcement extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -92,25 +94,4 @@ public class Announcement {
@ApiModelProperty(value = "截止日期")
private LocalDateTime deadline;
/**
* 创建人
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建人")
private Integer createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -19,13 +19,18 @@
<!-- 这里为了兼容 shardingsphare 4.x 暂时使用 ${} 传参-->
<update id="followMoveChildNode">
UPDATE
sys_organization
SET hierarchy = CONCAT(#{param.targetParentHierarchy}, SUBSTR(hierarchy, ${param.originParentHierarchyLengthPlusOne})),
depth = depth - #{param.depthDiff}
sys_organization
SET
hierarchy = CONCAT(#{param.targetParentHierarchy},
SUBSTR(hierarchy, ${param.originParentHierarchyLengthPlusOne})),
depth = depth - #{param.depthDiff}
WHERE
parent_id = #{param.parentId} -- 儿子节点
or
hierarchy like #{param.grandsonConditionalStatement} -- 子节点
deleted = 0
AND (
parent_id = #{param.parentId} -- 子节点
OR
hierarchy like #{param.grandsonConditionalStatement} -- 孙子节点
)
</update>
<select id="listChildOrganization" resultType="com.hccake.ballcat.system.model.entity.SysOrganization">
@@ -34,19 +39,27 @@
FROM
sys_organization
WHERE
hierarchy LIKE
(SELECT CONCAT( hierarchy, '-', #{organizationId} , '%') FROM sys_organization WHERE id = #{organizationId})
hierarchy LIKE (
SELECT CONCAT( hierarchy, '-', #{organizationId} , '%')
FROM sys_organization
WHERE id = #{organizationId} and deleted = 0
)
AND deleted = 0
</select>
<select id="existsChildOrganization" resultType="Boolean">
SELECT
1
1
FROM
sys_organization
sys_organization
WHERE
hierarchy LIKE
(SELECT CONCAT( hierarchy, '-', #{organizationId} , '%') FROM sys_organization WHERE id = #{organizationId})
hierarchy LIKE (
SELECT CONCAT( hierarchy, '-', #{organizationId} , '%')
FROM sys_organization
WHERE id = #{organizationId}
AND deleted = 0
)
AND deleted = 0
LIMIT 1
</select>

View File

@@ -19,12 +19,12 @@
<select id="selectByPage" resultType="com.hccake.ballcat.system.model.vo.SysUserPageVO">
SELECT
<include refid="Base_Alias_Column_List"/>
,so.name as organization_name
FROM sys_user su
<include refid="Base_Alias_Column_List"/>
,so.name as organization_name
FROM
sys_user su
LEFT JOIN
sys_organization so
ON su.organization_id = so.id
sys_organization so ON su.organization_id = so.id and so.deleted = 0
${ew.customSqlSegment}
</select>

View File

@@ -24,7 +24,7 @@
LEFT JOIN
sys_user su ON su.user_id = ur.user_id
LEFT JOIN
sys_organization so ON su.organization_id = so.id
sys_organization so ON su.organization_id = so.id and so.deleted = 0
WHERE ur.role_code = #{qo.roleCode}
and su.deleted = 0
<if test="qo.userId != null">

View File

@@ -1,11 +1,12 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import lombok.EqualsAndHashCode;
/**
* 系统配置表
@@ -14,9 +15,10 @@ import java.time.LocalDateTime;
* @date 2019-10-14 17:42:23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_config")
@ApiModel(value = "基础配置")
public class SysConfig {
public class SysConfig extends LogicDeletedBaseEntity {
/**
* 主键
@@ -55,26 +57,4 @@ public class SysConfig {
@ApiModelProperty(value = "描述")
private String description;
/**
* 逻辑删除标识,已删除:0未删除删除时间戳
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,已删除:0未删除删除时间戳")
private Long deleted;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
}

View File

@@ -1,11 +1,12 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import lombok.EqualsAndHashCode;
/**
* 字典表
@@ -14,9 +15,10 @@ import java.time.LocalDateTime;
* @date 2020-03-26 18:40:20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_dict")
@ApiModel(value = "字典表")
public class SysDict {
public class SysDict extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -63,26 +65,4 @@ public class SysDict {
@ApiModelProperty("数据类型,1:Number 2:String 3:Boolean")
private Integer valueType;
/**
* 逻辑删除标识,已删除:0未删除删除时间戳
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,已删除:0未删除删除时间戳")
private Long deleted;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -1,12 +1,15 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.Map;
/**
@@ -16,9 +19,10 @@ import java.util.Map;
* @date 2020-03-26 18:40:20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "sys_dict_item", autoResultMap = true)
@ApiModel(value = "字典项")
public class SysDictItem {
public class SysDictItem extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -66,26 +70,4 @@ public class SysDictItem {
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 逻辑删除标识,已删除:0未删除删除时间戳
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,已删除:0未删除删除时间戳")
private Long deleted;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -1,19 +1,17 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDateTime;
import java.util.Objects;
/**
@@ -26,7 +24,7 @@ import java.util.Objects;
@ToString
@TableName("sys_menu")
@ApiModel(value = "菜单权限")
public class SysMenu {
public class SysMenu extends LogicDeletedBaseEntity {
/**
* 菜单ID
@@ -108,28 +106,6 @@ public class SysMenu {
@ApiModelProperty(value = "备注信息")
private String remarks;
/**
* 逻辑删除标识,未删除为 0已删除为删除时间
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,未删除为 0已删除为删除时间")
private Long deleted;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@Override
public boolean equals(Object o) {
if (this == o) {

View File

@@ -1,11 +1,13 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import lombok.EqualsAndHashCode;
/**
* 组织架构
@@ -13,9 +15,10 @@ import java.time.LocalDateTime;
* @author hccake 2020-09-23 20:39:40
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_organization")
@ApiModel(value = "组织架构")
public class SysOrganization {
public class SysOrganization extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -62,30 +65,4 @@ public class SysOrganization {
@ApiModelProperty(value = "排序字段,由小到大")
private Integer sort;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private String createBy;
/**
* 修改者
*/
@ApiModelProperty(value = "修改者")
private String updateBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
}

View File

@@ -1,11 +1,9 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -13,7 +11,6 @@ import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.Objects;
/**
@@ -27,7 +24,7 @@ import java.util.Objects;
@ToString
@TableName("sys_role")
@ApiModel(value = "角色")
public class SysRole {
public class SysRole extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -55,28 +52,6 @@ public class SysRole {
@ApiModelProperty(value = "角色备注")
private String note;
/**
* 逻辑删除标识,已删除:0未删除删除时间戳
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,已删除:0未删除删除时间戳")
private Long deleted;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 修改时间
*/
@ApiModelProperty(value = "修改时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
@Override
public boolean equals(Object o) {
if (this == o) {

View File

@@ -1,13 +1,13 @@
package com.hccake.ballcat.system.model.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hccake.ballcat.common.model.entity.LogicDeletedBaseEntity;
import com.hccake.extend.mybatis.plus.alias.TableAlias;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.EqualsAndHashCode;
/**
* 系统用户表
@@ -16,10 +16,11 @@ import java.time.LocalDateTime;
* @date 2019-09-12 20:39:31
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableAlias("su")
@TableName("sys_user")
@ApiModel(value = "系统用户表")
public class SysUser implements Serializable {
public class SysUser extends LogicDeletedBaseEntity {
private static final long serialVersionUID = 1L;
@@ -96,26 +97,4 @@ public class SysUser implements Serializable {
@ApiModelProperty(value = "1:系统用户, 2客户用户")
private Integer type;
/**
* 逻辑删除标识,已删除:0未删除删除时间戳
*/
@TableLogic
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "逻辑删除标识,已删除:0未删除删除时间戳")
private Long deleted;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private LocalDateTime updateTime;
}

View File

@@ -20,3 +20,72 @@ VALUES ('user_status', '0', '关闭', '{
\"textColor\": \"#5b8ff9\",
\"badgeStatus\": \"processing\"
}', 1, NULL, 0, NOW(), NULL);
-- 业务表追加审计字段:创建人、修改人、创建时间、更新时间、逻辑删除标识
ALTER TABLE `sys_user`
MODIFY COLUMN `deleted` bigint NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `organization_id`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_role`
MODIFY COLUMN `deleted` bigint(20) NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `note`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_menu`
MODIFY COLUMN `deleted` bigint(20) NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `remarks`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_organization`
ADD COLUMN `deleted` bigint NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `sort`,
MODIFY COLUMN `create_by` int NULL DEFAULT NULL COMMENT '创建者' AFTER `deleted`,
MODIFY COLUMN `update_by` int NULL DEFAULT NULL COMMENT '修改者' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_dict`
MODIFY COLUMN `deleted` bigint(20) NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `hash_code`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_dict_item`
MODIFY COLUMN `deleted` bigint(20) NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `remarks`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `sys_config`
MODIFY COLUMN `deleted` bigint(20) NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `description`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `notify_announcement`
ADD COLUMN `deleted` bigint NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `deadline`,
MODIFY COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `i18n_data`
ADD COLUMN `deleted` bigint NULL DEFAULT 0 COMMENT '逻辑删除标识,未删除为 0已删除为删除时间' AFTER `remark`,
ADD COLUMN `create_by` int NULL COMMENT '创建人' AFTER `deleted`,
ADD COLUMN `update_by` int NULL COMMENT '修改人' AFTER `create_by`,
MODIFY COLUMN `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间' AFTER `update_by`,
MODIFY COLUMN `update_time` datetime NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间' AFTER `create_time`;
ALTER TABLE `i18n_data`
DROP INDEX `udx_laguage_tag_code`,
ADD UNIQUE INDEX `udx_laguage_tag_code`(`language_tag`, `code`, `deleted`) USING BTREE;