git
build / build-push (push) Failing after 40s

This commit is contained in:
wanghu
2026-09-02 10:44:33 +08:00
parent 8774b6cc44
commit 8c840aa933
246 changed files with 13876 additions and 9343 deletions
+26
View File
@@ -0,0 +1,26 @@
-- ============================================================
-- 数据变更日志表(A_DataLog)
-- 对应实体:YhCore.Entity.A_DataLog(旧 EF6 EDMX 生成 POCO,主键约定 SerID)
-- 用途:数据变更审计预留表(当前无业务代码使用,仅 DbContext 注册)
-- 数据库:SQL Server(EduCloudDocPrint)
-- 风格:对齐同库 Java 遗留表(SerID 主键自增、varchar 字符串、可空)
-- ============================================================
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'A_DataLog')
BEGIN
CREATE TABLE [dbo].[A_DataLog] (
[SerID] INT IDENTITY(1,1) NOT NULL CONSTRAINT [PK_A_DataLog] PRIMARY KEY,
[SchSerID] VARCHAR(200) NULL,
[ModuleName] VARCHAR(50) NULL,
[TableName] VARCHAR(50) NULL,
[OldSerID] INT NULL,
[NowSerID] INT NULL,
[RId] INT NULL
);
PRINT 'A_DataLog table created.';
END
ELSE
BEGIN
PRINT 'A_DataLog table already exists, skip.';
END
@@ -0,0 +1,55 @@
-- ============================================================
-- 系统审计日志表(sys_operation_log)
-- 对应实体:YhCore.Entity.SysOperationLog(EF Core,OnModelCreating ToTable 映射)
-- 对应 Java:bschclassmanage 的 entity.SysOperationLog / sqlscript/sys_operation_log.sql
-- 用途:SysOperationLogFilter 全量记录 HTTP 接口日志 / CleanupLogJob 30 天清理
-- 说明:本表取代旧业务操作日志表 OperationLogRecord(旧表无数据,直接删除)
-- 数据库:SQL Server(EduCloudDocPrint)
-- ============================================================
-- 1) 清理旧业务操作日志表(OperationLogRecord,已被 sys_operation_log 取代)
IF OBJECT_ID(N'[dbo].[OperationLogRecord]', N'U') IS NOT NULL
BEGIN
DROP TABLE [dbo].[OperationLogRecord];
PRINT 'Legacy OperationLogRecord table dropped.';
END
-- 2) 创建审计日志表(幂等)
IF NOT EXISTS (SELECT 1 FROM sys.tables WHERE name = 'sys_operation_log')
BEGIN
CREATE TABLE [dbo].[sys_operation_log] (
[Id] BIGINT IDENTITY(1,1) NOT NULL CONSTRAINT [PK_sys_operation_log] PRIMARY KEY,
[LogLevel] TINYINT NOT NULL, -- 1-重要(删除) 2-次要(新增/编辑) 3-一般(查询)
[OperationType] NVARCHAR(16) NOT NULL, -- DELETE/CREATE/UPDATE/QUERY
[UserId] INT NULL, -- 操作人 ID
[UserName] NVARCHAR(64) NULL, -- 操作人姓名
[SchId] INT NULL, -- 学校 ID(多校隔离)
[RequestIp] NVARCHAR(64) NOT NULL, -- 客户端 IP
[RequestUri] NVARCHAR(512) NOT NULL, -- 请求 URI
[RequestMethod] NVARCHAR(16) NOT NULL, -- HTTP 方法
[ClassMethod] NVARCHAR(512) NOT NULL, -- 类名.方法名
[RequestParams] NVARCHAR(MAX) NULL, -- 请求参数(JSON,截断)
[ResponseData] VARBINARY(MAX) NULL, -- GZIP 压缩后的响应 JSON
[StatusCode] INT NOT NULL, -- 业务状态码:0 成功 / 非 0 失败
[CostTime] BIGINT NOT NULL, -- 耗时(ms)
[UserAgent] NVARCHAR(512) NULL,
[ErrorMsg] NVARCHAR(MAX) NULL, -- 异常信息(截断 8000)
[RetryCount] INT NULL DEFAULT 0, -- 重试次数(对齐 Java 双轨字段,.NET 暂不写入)
[LastRetryStatus] INT NULL, -- 上次重试状态:1 成功 / 0 失败
[LastRetryTime] DATETIME NULL, -- 上次重试时间
[CreateTime] DATETIME NOT NULL -- 记录时间
);
-- 查询/清理索引(对齐 Java idx_sol_*)
CREATE INDEX [IX_sol_CreateTime] ON [dbo].[sys_operation_log] ([CreateTime]);
CREATE INDEX [IX_sol_UserId_Time] ON [dbo].[sys_operation_log] ([UserId], [CreateTime]);
CREATE INDEX [IX_sol_SchId_Time] ON [dbo].[sys_operation_log] ([SchId], [CreateTime]);
CREATE INDEX [IX_sol_Uri_Time] ON [dbo].[sys_operation_log] ([RequestUri], [CreateTime]);
CREATE INDEX [IX_sol_Level_Time] ON [dbo].[sys_operation_log] ([LogLevel], [CreateTime]);
PRINT 'sys_operation_log table created.';
END
ELSE
BEGIN
PRINT 'sys_operation_log table already exists, skip.';
END