This commit is contained in:
2026-01-16 18:23:43 +08:00
parent 1417804b66
commit 9f509924b3
8 changed files with 393 additions and 142 deletions

View File

@@ -64,63 +64,63 @@ foreach ($table in $tables) {
goctl model mysql datasource -url="jnc:5vg67b3UNHu8@tcp(127.0.0.1:21301)/jnc" -table="$table" -dir="./model" --home="$HOME_DIR" -cache=true --style=goZero
# 移动生成的文件到目标目录
# if (Test-Path $OUTPUT_DIR) {
# $sourceFiles = Get-ChildItem -Path $OUTPUT_DIR -File
if (Test-Path $OUTPUT_DIR) {
$sourceFiles = Get-ChildItem -Path $OUTPUT_DIR -File
# foreach ($file in $sourceFiles) {
# $fileName = $file.Name
# $targetPath = Join-Path $TARGET_DIR $fileName
# $sourcePath = $file.FullName
foreach ($file in $sourceFiles) {
$fileName = $file.Name
$targetPath = Join-Path $TARGET_DIR $fileName
$sourcePath = $file.FullName
# # 检查文件类型并决定是否移动
# $shouldMove = $false
# $shouldOverwrite = $false
# 检查文件类型并决定是否移动
$shouldMove = $false
$shouldOverwrite = $false
# if ($fileName -eq "vars.go") {
# # vars.go: 如果目标目录不存在才移动
# if (-not (Test-Path $targetPath)) {
# $shouldMove = $true
# Write-Host " 移动 $fileName (vars.go 不存在于目标目录)" -ForegroundColor Yellow
# }
# else {
# Write-Host " 跳过 $fileName (vars.go 已存在于目标目录,防止覆盖)" -ForegroundColor Cyan
# }
# }
# elseif ($fileName -match "_gen\.go$") {
# # 带 _gen 后缀的文件: 直接覆盖
# $shouldMove = $true
# $shouldOverwrite = $true
# Write-Host " 移动 $fileName (覆盖 _gen 文件)" -ForegroundColor Yellow
# }
# else {
# # 不带 _gen 后缀的文件: 如果目标目录不存在才移动
# if (-not (Test-Path $targetPath)) {
# $shouldMove = $true
# Write-Host " 移动 $fileName (非 _gen 文件不存在于目标目录)" -ForegroundColor Yellow
# }
# else {
# Write-Host " 跳过 $fileName (非 _gen 文件已存在于目标目录,防止覆盖)" -ForegroundColor Cyan
# }
# }
if ($fileName -eq "vars.go") {
# vars.go: 如果目标目录不存在才移动
if (-not (Test-Path $targetPath)) {
$shouldMove = $true
Write-Host " 移动 $fileName (vars.go 不存在于目标目录)" -ForegroundColor Yellow
}
else {
Write-Host " 跳过 $fileName (vars.go 已存在于目标目录,防止覆盖)" -ForegroundColor Cyan
}
}
elseif ($fileName -match "_gen\.go$") {
# 带 _gen 后缀的文件: 直接覆盖
$shouldMove = $true
$shouldOverwrite = $true
Write-Host " 移动 $fileName (覆盖 _gen 文件)" -ForegroundColor Yellow
}
else {
# 不带 _gen 后缀的文件: 如果目标目录不存在才移动
if (-not (Test-Path $targetPath)) {
$shouldMove = $true
Write-Host " 移动 $fileName (非 _gen 文件不存在于目标目录)" -ForegroundColor Yellow
}
else {
Write-Host " 跳过 $fileName (非 _gen 文件已存在于目标目录,防止覆盖)" -ForegroundColor Cyan
}
}
# # 执行移动操作
# if ($shouldMove) {
# # 确保目标目录存在
# if (-not (Test-Path $TARGET_DIR)) {
# New-Item -ItemType Directory -Path $TARGET_DIR -Force | Out-Null
# }
# 执行移动操作
if ($shouldMove) {
# 确保目标目录存在
if (-not (Test-Path $TARGET_DIR)) {
New-Item -ItemType Directory -Path $TARGET_DIR -Force | Out-Null
}
# # 如果目标文件存在且需要覆盖,先删除
# if ($shouldOverwrite -and (Test-Path $targetPath)) {
# Remove-Item -Path $targetPath -Force
# }
# 如果目标文件存在且需要覆盖,先删除
if ($shouldOverwrite -and (Test-Path $targetPath)) {
Remove-Item -Path $targetPath -Force
}
# # 移动文件
# Move-Item -Path $sourcePath -Destination $targetPath -Force
# Write-Host " ✓ 已移动到: $targetPath" -ForegroundColor Green
# }
# }
# }
# 移动文件
Move-Item -Path $sourcePath -Destination $targetPath -Force
Write-Host " ✓ 已移动到: $targetPath" -ForegroundColor Green
}
}
}
}
Write-Host ""