add
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# create.sh - 启动Python容器执行create_table.py、create_src.py和create_src_dockerfile.py脚本
|
# create.sh - 启动Python容器执行create_table.py、create_src.py、create_src_dockerfile.py和create_src_mod.py脚本
|
||||||
|
|
||||||
set -e # 遇到错误立即退出
|
set -e # 遇到错误立即退出
|
||||||
|
|
||||||
@@ -100,9 +100,35 @@ docker run --rm \
|
|||||||
echo '✅ create_src_dockerfile.py 执行完成!'
|
echo '✅ create_src_dockerfile.py 执行完成!'
|
||||||
"
|
"
|
||||||
|
|
||||||
|
# ========== 第四部分:更新go.mod ==========
|
||||||
|
echo ""
|
||||||
|
echo "📋 第四步:更新go.mod文件..."
|
||||||
|
echo "🚀 执行create_src_mod.py..."
|
||||||
|
|
||||||
|
# 运行Python容器执行create_src_mod.py
|
||||||
|
docker run --rm \
|
||||||
|
--name "${CONTAINER_NAME}-mod" \
|
||||||
|
-v "${SCRIPT_DIR}:/app/create" \
|
||||||
|
-v "${PROJECT_ROOT}/services:/app/services" \
|
||||||
|
-e TABLE_NAME="${TABLE_NAME}" \
|
||||||
|
-w /app \
|
||||||
|
python:3.13.7-alpine3.22 \
|
||||||
|
sh -c "
|
||||||
|
echo '📋 容器内环境信息:'
|
||||||
|
python --version
|
||||||
|
echo ''
|
||||||
|
|
||||||
|
echo '⚙️ 执行 create_src_mod.py...'
|
||||||
|
python create/create_src_mod.py
|
||||||
|
|
||||||
|
echo ''
|
||||||
|
echo '✅ create_src_mod.py 执行完成!'
|
||||||
|
"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo "🎉 所有任务执行完成!"
|
echo "🎉 所有任务执行完成!"
|
||||||
echo "📋 表名: ${TABLE_NAME}"
|
echo "📋 表名: ${TABLE_NAME}"
|
||||||
echo "📁 服务目录: ${PROJECT_ROOT}/services/${TABLE_NAME}"
|
echo "📁 服务目录: ${PROJECT_ROOT}/services/${TABLE_NAME}"
|
||||||
echo "🐳 Dockerfile: ${PROJECT_ROOT}/services/${TABLE_NAME}/src/Dockerfile"
|
echo "🐳 Dockerfile: ${PROJECT_ROOT}/services/${TABLE_NAME}/src/Dockerfile"
|
||||||
|
echo "📦 go.mod: ${PROJECT_ROOT}/services/${TABLE_NAME}/src/go.mod"
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
create_src_mod.py - 更新go.mod文件内容
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def update_go_mod(table_name):
|
||||||
|
"""更新指定服务目录下的go.mod文件内容"""
|
||||||
|
|
||||||
|
# 获取项目根目录
|
||||||
|
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
services_dir = os.path.join(project_root, 'services')
|
||||||
|
|
||||||
|
# 服务目录路径
|
||||||
|
service_dir = os.path.join(services_dir, table_name)
|
||||||
|
go_mod_path = os.path.join(service_dir, 'src', 'go.mod')
|
||||||
|
|
||||||
|
print(f"🚀 开始更新go.mod: {go_mod_path}")
|
||||||
|
|
||||||
|
# go.mod内容模板,将xxxxx替换为table_name
|
||||||
|
go_mod_content = f"""module {table_name}
|
||||||
|
|
||||||
|
go 1.25.0
|
||||||
|
|
||||||
|
require (
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
|
||||||
|
)
|
||||||
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
# 检查文件是否存在
|
||||||
|
if not os.path.exists(go_mod_path):
|
||||||
|
print(f"❌ go.mod文件不存在: {go_mod_path}")
|
||||||
|
return False
|
||||||
|
|
||||||
|
# 清空文件内容并写入新内容
|
||||||
|
with open(go_mod_path, 'w', encoding='utf-8') as f:
|
||||||
|
f.write(go_mod_content)
|
||||||
|
|
||||||
|
print(f"✅ 成功更新go.mod: {go_mod_path}")
|
||||||
|
print(f"📋 模块名: {table_name}")
|
||||||
|
return True
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"❌ 更新go.mod时出错: {e}")
|
||||||
|
return False
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# 从环境变量获取表名
|
||||||
|
table_name = os.environ.get('TABLE_NAME')
|
||||||
|
|
||||||
|
if not table_name:
|
||||||
|
print("❌ 错误: 未设置 TABLE_NAME 环境变量")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
print(f"📋 接收到的表名: {table_name}")
|
||||||
|
success = update_go_mod(table_name)
|
||||||
|
|
||||||
|
if success:
|
||||||
|
sys.exit(0)
|
||||||
|
else:
|
||||||
|
sys.exit(1)
|
||||||
Reference in New Issue
Block a user