后台面板
This commit is contained in:
@@ -1,64 +1,21 @@
|
||||
# 设置输出编码为UTF-8
|
||||
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
$OutputEncoding = [System.Text.Encoding]::UTF8
|
||||
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
|
||||
|
||||
# 启用详细输出和错误处理
|
||||
$ErrorActionPreference = "Stop"
|
||||
$VerbosePreference = "Continue"
|
||||
|
||||
# 检查并创建必要的目录
|
||||
if (-not (Test-Path "./model")) {
|
||||
Write-Output "Creating model directory..."
|
||||
New-Item -ItemType Directory -Path "./model" | Out-Null
|
||||
}
|
||||
|
||||
if (-not (Test-Path "../../app/user/model")) {
|
||||
Write-Output "Creating target directory..."
|
||||
New-Item -ItemType Directory -Path "../../app/user/model" -Force | Out-Null
|
||||
}
|
||||
|
||||
# 将表名转换为驼峰命名法的函数
|
||||
function ConvertToCamelCase {
|
||||
param (
|
||||
[string]$tableName
|
||||
)
|
||||
try {
|
||||
# 将表名按_分割,并将每个部分首字母大写
|
||||
$parts = $tableName -split '_'
|
||||
$camelCase = ""
|
||||
foreach ($part in $parts) {
|
||||
if ($part.Length -gt 0) {
|
||||
$camelCase += $part.Substring(0, 1).ToUpper() + $part.Substring(1).ToLower()
|
||||
}
|
||||
}
|
||||
return $camelCase
|
||||
}
|
||||
catch {
|
||||
Write-Output "Error in ConvertToCamelCase for table: $tableName"
|
||||
Write-Output $_.Exception.Message
|
||||
return $tableName # 出错时返回原表名
|
||||
}
|
||||
}
|
||||
|
||||
# 数据库连接信息
|
||||
$DB_URL = "qnc:5vg67b3UNHu8@tcp(127.0.0.1:21001)/qnc"
|
||||
# 数据库连接信息 - 修改了URL格式
|
||||
$DB_URL = "qnc:5vg67b3UNHu8@(127.0.0.1:21001)/qnc"
|
||||
$OUTPUT_DIR = "./model"
|
||||
$TEMPLATE_DIR = "../template"
|
||||
$TARGET_DIR = "../../app/user/model"
|
||||
|
||||
# 表名列表 - 每个元素后必须有逗号分隔
|
||||
# 表名列表
|
||||
$tables = @(
|
||||
# "agent",
|
||||
# "agent_active_stat",
|
||||
# "agent_audit",
|
||||
# "agent_real_name"
|
||||
# "agent_closure",
|
||||
# "agent_commission",
|
||||
# "agent_commission_deduction",
|
||||
# "agent_link",
|
||||
# "agent_membership_config",
|
||||
# "agent_membership_recharge_order",
|
||||
# "agent_membership_recharge_order"
|
||||
# "agent_membership_user_config",
|
||||
# "agent_order",
|
||||
# "agent_platform_deduction",
|
||||
@@ -66,74 +23,39 @@ $tables = @(
|
||||
# "agent_rewards",
|
||||
# "agent_wallet",
|
||||
# "agent_withdrawal",
|
||||
# "agent_real_name"
|
||||
# "feature",
|
||||
# "global_notifications",
|
||||
# "global_notifications"
|
||||
# "order",
|
||||
# "order_refund"
|
||||
# "product",
|
||||
# "product_feature",
|
||||
# "query",
|
||||
# "user",
|
||||
# "user_auth",
|
||||
# "example",
|
||||
# "query_cleanup_log"
|
||||
# "query_cleanup_detail"
|
||||
# "query_cleanup_config"
|
||||
# "user"
|
||||
# "user_auth"
|
||||
# "example"
|
||||
"authorization"
|
||||
# "authorization_face"
|
||||
"authorization_face"
|
||||
# "admin_user"
|
||||
# "admin_user_role"
|
||||
# "admin_api",
|
||||
# "admin_menu"
|
||||
# "admin_role",
|
||||
# "admin_role_api",
|
||||
# "admin_role_menu",
|
||||
# "admin_dict_data"
|
||||
# "admin_dict_type"
|
||||
# "admin_promotion_link"
|
||||
# "admin_promotion_link_stats_total"
|
||||
# "admin_promotion_link_stats_history"
|
||||
# "admin_promotion_order"
|
||||
|
||||
)
|
||||
|
||||
# 为每个表生成模型
|
||||
foreach ($table in $tables) {
|
||||
try {
|
||||
Write-Output "========================================="
|
||||
Write-Output "Processing table: $table"
|
||||
|
||||
# 生成模型
|
||||
Write-Output "Generating model..."
|
||||
$command = "goctl model mysql datasource -url=`"$DB_URL`" -table=`"$table`" -dir=`"$OUTPUT_DIR`" --home=`"$TEMPLATE_DIR`" -cache=true --style=goZero"
|
||||
Write-Output "Running command: $command"
|
||||
Invoke-Expression $command
|
||||
|
||||
# 将表名转换为驼峰命名法
|
||||
$camelCaseName = ConvertToCamelCase -tableName $table
|
||||
Write-Output "Table name converted to: $camelCaseName"
|
||||
|
||||
# 定义源文件和目标文件路径
|
||||
$sourceModelFile = "$OUTPUT_DIR/${camelCaseName}Model.go"
|
||||
$sourceModelGenFile = "$OUTPUT_DIR/${camelCaseName}Model_gen.go"
|
||||
$targetModelFile = "$TARGET_DIR/${camelCaseName}Model.go"
|
||||
$targetModelGenFile = "$TARGET_DIR/${camelCaseName}Model_gen.go"
|
||||
|
||||
Write-Output "Source files:"
|
||||
Write-Output " - $sourceModelFile"
|
||||
Write-Output " - $sourceModelGenFile"
|
||||
Write-Output "Target files:"
|
||||
Write-Output " - $targetModelFile"
|
||||
Write-Output " - $targetModelGenFile"
|
||||
|
||||
# 检查源文件是否存在
|
||||
if (-not (Test-Path $sourceModelFile)) {
|
||||
Write-Output "WARNING: Source file not found: $sourceModelFile"
|
||||
}
|
||||
if (-not (Test-Path $sourceModelGenFile)) {
|
||||
Write-Output "WARNING: Source file not found: $sourceModelGenFile"
|
||||
}
|
||||
|
||||
# 移动文件
|
||||
if (Test-Path $sourceModelFile) {
|
||||
Write-Output "Moving $sourceModelFile to $targetModelFile"
|
||||
Move-Item -Path $sourceModelFile -Destination $targetModelFile -Force
|
||||
}
|
||||
if (Test-Path $sourceModelGenFile) {
|
||||
Write-Output "Moving $sourceModelGenFile to $targetModelGenFile"
|
||||
Move-Item -Path $sourceModelGenFile -Destination $targetModelGenFile -Force
|
||||
}
|
||||
|
||||
Write-Output "Processing completed for table: $table"
|
||||
}
|
||||
catch {
|
||||
Write-Output "ERROR processing table: $table"
|
||||
Write-Output $_.Exception.Message
|
||||
Write-Output $_.ScriptStackTrace
|
||||
}
|
||||
goctl model mysql datasource -url="qnc:5vg67b3UNHu8@tcp(127.0.0.1:21001)/qnc" -table="$table" -dir="./model" --home="../template" -cache=true --style=goZero
|
||||
}
|
||||
|
||||
Write-Output "========================================="
|
||||
Write-Output "Script execution completed."
|
||||
|
||||
Reference in New Issue
Block a user