feat(tplus): 新增同步暂存与任务管理迁移和环境配置
This commit is contained in:
1 parent
823d9f02ec
commit
78bef43c06
29 files changed
+1326
-5
No files matched your search
@@ -0,0 +1,74 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[Parameter(Mandatory = $true)]
|
||||
[string]$DatabaseName,
|
||||
[string]$ContainerName = "ys-tplus-sqlserver-dev",
|
||||
[string]$ReportRoot = "D:\work\app\tplus-sqlserver\reports",
|
||||
[Parameter(Mandatory = $true)]
|
||||
[SecureString]$SaPassword
|
||||
)
|
||||
|
||||
Set-StrictMode -Version Latest
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
. (Join-Path $PSScriptRoot "container_sql.ps1")
|
||||
|
||||
New-Item -ItemType Directory -Path $ReportRoot -Force | Out-Null
|
||||
$reportPath = Join-Path $ReportRoot ("Tplus-核验-{0:yyyyMMdd-HHmmss}.md" -f (Get-Date))
|
||||
$safeDatabaseIdentifier = $DatabaseName.Replace("]", "]]" )
|
||||
$safeDatabaseLiteral = $DatabaseName.Replace("'", "''")
|
||||
|
||||
$sql = @"
|
||||
USE [$safeDatabaseIdentifier];
|
||||
SET NOCOUNT ON;
|
||||
SELECT 'DATABASE' AS section_name, DB_NAME() AS item_name, CAST(SUM(size) * 8.0 / 1024 AS varchar(64)) AS detail
|
||||
FROM sys.database_files;
|
||||
SELECT 'TABLE' AS section_name, s.name + '.' + t.name AS item_name,
|
||||
CAST(SUM(p.rows) AS varchar(64)) AS detail
|
||||
FROM sys.tables t
|
||||
JOIN sys.schemas s ON s.schema_id = t.schema_id
|
||||
LEFT JOIN sys.partitions p ON p.object_id = t.object_id AND p.index_id IN (0, 1)
|
||||
GROUP BY s.name, t.name
|
||||
ORDER BY s.name, t.name;
|
||||
SELECT 'COLUMN' AS section_name,
|
||||
s.name + '.' + t.name + '.' + c.name AS item_name,
|
||||
ty.name + '(' + CAST(c.max_length AS varchar(16)) + ')' AS detail
|
||||
FROM sys.columns c
|
||||
JOIN sys.tables t ON t.object_id = c.object_id
|
||||
JOIN sys.schemas s ON s.schema_id = t.schema_id
|
||||
JOIN sys.types ty ON ty.user_type_id = c.user_type_id
|
||||
ORDER BY s.name, t.name, c.column_id;
|
||||
SELECT 'VIEW' AS section_name, s.name + '.' + v.name AS item_name, 'view' AS detail
|
||||
FROM sys.views v JOIN sys.schemas s ON s.schema_id = v.schema_id
|
||||
ORDER BY s.name, v.name;
|
||||
SELECT 'PROCEDURE' AS section_name, s.name + '.' + p.name AS item_name, 'procedure' AS detail
|
||||
FROM sys.procedures p JOIN sys.schemas s ON s.schema_id = p.schema_id
|
||||
ORDER BY s.name, p.name;
|
||||
"@
|
||||
|
||||
$output = Invoke-TPlusContainerSql -ContainerName $ContainerName -Sql $sql -SaPassword $SaPassword
|
||||
|
||||
$header = @(
|
||||
"# T+ 数据库恢复核验报告",
|
||||
"",
|
||||
"- 数据库:$DatabaseName",
|
||||
"- 容器:$ContainerName",
|
||||
"- 核验时间:$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')",
|
||||
"- 数据目录:D:\work\app\tplus-sqlserver\data",
|
||||
"- 日志目录:D:\work\app\tplus-sqlserver\log",
|
||||
"",
|
||||
"## 查询结果",
|
||||
"",
|
||||
'```text'
|
||||
)
|
||||
$footer = @(
|
||||
'```',
|
||||
"",
|
||||
"## 后续核对",
|
||||
"",
|
||||
"- 对照 T+ 12.3 字段映射草案核对六类源表。",
|
||||
"- 记录更新时间字段、关联键、负向单据和枚举值。",
|
||||
"- 未确认字段不得直接写入工资业务表。"
|
||||
)
|
||||
($header + @($output) + $footer) | Set-Content -LiteralPath $reportPath -Encoding utf8
|
||||
Write-Host "核验报告已生成:$reportPath"
|
||||
Reference in new issue
Block a user