refactor: 重构资产模型与DAO层实现
This commit is contained in:
46
update.sql
46
update.sql
@@ -1,20 +1,17 @@
|
||||
-----------张斌2025-06-16 15:00:00--------------
|
||||
|
||||
--------------------pgsql创建assets_category表语句---------------------------
|
||||
|
||||
-- 分类主表
|
||||
CREATE TABLE IF NOT EXISTS assets_category (
|
||||
-- 基础字段
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
id BIGINT PRIMARY KEY, -- 从BIGSERIAL改为BIGINT,取消自增
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleter VARCHAR(64),
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- 分类核心字段
|
||||
bid VARCHAR(64) NOT NULL,
|
||||
-- 分类核心字段(移除bid字段)
|
||||
name VARCHAR(128) NOT NULL,
|
||||
parent_id VARCHAR(64) DEFAULT '',
|
||||
path VARCHAR(512) DEFAULT '',
|
||||
@@ -23,27 +20,23 @@ CREATE TABLE IF NOT EXISTS assets_category (
|
||||
sort INT NOT NULL DEFAULT 0,
|
||||
image VARCHAR(256) DEFAULT '',
|
||||
attrs JSONB DEFAULT '[]'::JSONB,
|
||||
status SMALLINT NOT NULL DEFAULT 1,
|
||||
|
||||
-- 唯一索引 & 普通索引
|
||||
CONSTRAINT uk_category_id UNIQUE (bid)
|
||||
status SMALLINT NOT NULL DEFAULT 1
|
||||
);
|
||||
-- 为分类表添加索引(PostgreSQL 索引单独创建)
|
||||
|
||||
-- 为分类表添加索引(移除原uk_category_id唯一索引,保留其他索引)
|
||||
CREATE INDEX idx_category_parent_id ON assets_category(parent_id);
|
||||
CREATE INDEX idx_category_level ON assets_category(level);
|
||||
CREATE INDEX idx_category_status ON assets_category(status);
|
||||
CREATE INDEX idx_category_is_leaf_node ON assets_category(is_leaf_node);
|
||||
|
||||
-- 分类表字段注释
|
||||
-- 分类表字段注释(移除bid字段注释)
|
||||
COMMENT ON TABLE assets_category IS '商品/服务分类表';
|
||||
COMMENT ON COLUMN assets_category.id IS '主键ID';
|
||||
COMMENT ON COLUMN assets_category.id IS '主键ID(非自增)';
|
||||
COMMENT ON COLUMN assets_category.creator IS '创建人';
|
||||
COMMENT ON COLUMN assets_category.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN assets_category.updater IS '更新人';
|
||||
COMMENT ON COLUMN assets_category.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN assets_category.deleter IS '删除人(软删)';
|
||||
COMMENT ON COLUMN assets_category.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN assets_category.bid IS '业务ID';
|
||||
COMMENT ON COLUMN assets_category.name IS '分类名称';
|
||||
COMMENT ON COLUMN assets_category.parent_id IS '父分类ID,为空表示根分类';
|
||||
COMMENT ON COLUMN assets_category.path IS '分类路径,如:/root/parent/child';
|
||||
@@ -61,20 +54,18 @@ COMMENT ON COLUMN assets_category.status IS '状态:1启用/0禁用';
|
||||
-- 资产表(asset)
|
||||
CREATE TABLE IF NOT EXISTS assets_asset (
|
||||
-- 嵌入基础字段(复用 SQLBaseDO 结构)
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
id BIGINT PRIMARY KEY, -- 从BIGSERIAL改为BIGINT,取消自增
|
||||
creator VARCHAR(64) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) NOT NULL,
|
||||
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleter VARCHAR(64),
|
||||
deleted_at timestamp(6),
|
||||
|
||||
-- 基础信息字段
|
||||
bid VARCHAR(64) NOT NULL,
|
||||
-- 基础信息字段(移除bid字段)
|
||||
name VARCHAR(128) NOT NULL,
|
||||
description TEXT DEFAULT '',
|
||||
type VARCHAR(32) NOT NULL, -- 资产类型:physical实物/virtual虚拟/service服务
|
||||
category_id BIGINT NOT NULL, -- 分类ID(对应分类表category_id,实体中定义为uint64,PG用BIGINT适配)
|
||||
category_id BIGINT NOT NULL, -- 分类ID(对应category分类表id)
|
||||
category_path VARCHAR(512) DEFAULT '',
|
||||
image_url VARCHAR(512) DEFAULT '',
|
||||
images JSONB DEFAULT '[]'::JSONB, -- 图片列表(字符串数组,JSONB存储)
|
||||
@@ -93,13 +84,10 @@ CREATE TABLE IF NOT EXISTS assets_asset (
|
||||
metadata JSONB, -- 扩展字段(动态元数据)
|
||||
|
||||
-- 租户相关
|
||||
tenant_module_type VARCHAR(64) DEFAULT '',
|
||||
tenant_module_type VARCHAR(64) DEFAULT ''
|
||||
);
|
||||
|
||||
-- 唯一索引
|
||||
CONSTRAINT uk_asset_id UNIQUE (bid)
|
||||
);
|
||||
|
||||
-- 为资产表添加索引(优化查询性能)
|
||||
-- 为资产表添加索引(移除原uk_asset_id唯一索引,保留其他索引)
|
||||
CREATE INDEX idx_asset_category_id ON assets_asset(category_id);
|
||||
CREATE INDEX idx_asset_type ON assets_asset(type);
|
||||
CREATE INDEX idx_asset_status ON assets_asset(status);
|
||||
@@ -107,20 +95,18 @@ CREATE INDEX idx_asset_online_time ON assets_asset(online_time);
|
||||
CREATE INDEX idx_asset_offline_time ON assets_asset(offline_time);
|
||||
CREATE INDEX idx_asset_tenant_module_type ON assets_asset(tenant_module_type);
|
||||
|
||||
-- 为资产表添加注释(PostgreSQL 专属语法)
|
||||
-- 为资产表添加注释(移除bid字段注释,更新id注释)
|
||||
COMMENT ON TABLE assets_asset IS '资产主表';
|
||||
COMMENT ON COLUMN assets_asset.id IS '主键ID';
|
||||
COMMENT ON COLUMN assets_asset.id IS '主键ID(非自增)';
|
||||
COMMENT ON COLUMN assets_asset.creator IS '创建人';
|
||||
COMMENT ON COLUMN assets_asset.created_at IS '创建时间';
|
||||
COMMENT ON COLUMN assets_asset.updater IS '更新人';
|
||||
COMMENT ON COLUMN assets_asset.updated_at IS '更新时间';
|
||||
COMMENT ON COLUMN assets_asset.deleter IS '删除人(软删)';
|
||||
COMMENT ON COLUMN assets_asset.deleted_at IS '删除时间(软删)';
|
||||
COMMENT ON COLUMN assets_asset.bid IS '业务ID';
|
||||
COMMENT ON COLUMN assets_asset.name IS '资产名称';
|
||||
COMMENT ON COLUMN assets_asset.description IS '资产描述';
|
||||
COMMENT ON COLUMN assets_asset.type IS '资产类型:physical实物/virtual虚拟/service服务';
|
||||
COMMENT ON COLUMN assets_asset.category_id IS '分类ID';
|
||||
COMMENT ON COLUMN assets_asset.category_id IS '分类ID(关联assets_category.id)';
|
||||
COMMENT ON COLUMN assets_asset.category_path IS '分类路径';
|
||||
COMMENT ON COLUMN assets_asset.image_url IS '主图URL';
|
||||
COMMENT ON COLUMN assets_asset.images IS '图片列表(JSONB)';
|
||||
|
||||
Reference in New Issue
Block a user