# 首次部署脚本使用说明 本目录包含接口自动化平台首次部署时所需的初始化脚本。 ## 脚本列表 ### 1. deploy_init.py - 首次部署初始化脚本(推荐) 一键执行所有初始化操作,包括: - 检查数据库连接 - 执行数据库迁移 - 创建管理员用户 - 创建默认用户组 - 收集静态文件 **使用方法:** ```bash cd backend python scripts/deploy_init.py ``` **默认管理员账号:** - 用户名: `admin` - 密码: `admin123` ⚠️ **重要提示:** 请在首次登录后立即修改默认密码! --- ### 2. run_migrations.py - 数据库迁移脚本 单独执行数据库迁移操作。 **使用方法:** ```bash cd backend python scripts/run_migrations.py ``` --- ### 3. create_admin_user.py - 创建管理员用户脚本 创建管理员用户和测试用户。 **使用方法:** ```bash cd backend python scripts/create_admin_user.py ``` **默认创建的用户:** - `admin` - 系统管理员(超级用户) - `testuser` - 测试用户(普通用户) - `developer` - 开发人员(员工用户) **自定义管理员账号:** 修改脚本中的 `create_admin_user()` 函数参数: ```python create_admin_user( username='your_username', password='your_password', email='your_email@example.com', name='your_name' ) ``` --- ### 4. create_groups.py - 创建用户组脚本 创建默认用户组并分配权限。 **使用方法:** ```bash cd backend python scripts/create_groups.py ``` **默认创建的用户组:** - `管理员组` - 拥有所有权限 - `开发人员组` - 可以查看、添加和修改数据 - `测试人员组` - 可以查看和添加数据 - `只读用户组` - 只能查看数据 --- ### 5. collect_static.py - 收集静态文件脚本 收集所有静态文件到 STATIC_ROOT 目录。 **使用方法:** ```bash cd backend python scripts/collect_static.py ``` --- ## 部署前准备 ### 1. 配置数据库连接 编辑 `backend/conf/env.py` 文件,配置数据库连接信息: ```python DATABASE_NAME = 'your_database_name' DATABASE_USER = 'your_database_user' DATABASE_PASSWORD = 'your_database_password' DATABASE_HOST = 'localhost' DATABASE_PORT = '3306' ``` ### 2. 创建数据库 在 MySQL 中创建数据库: ```sql CREATE DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` ### 3. 安装依赖 ```bash cd backend pip install -r requirements.txt ``` --- ## 完整部署流程 ### 方式一:使用一键部署脚本(推荐) ```bash cd backend python scripts/deploy_init.py ``` ### 方式二:分步执行 ```bash cd backend # 1. 执行数据库迁移 python scripts/run_migrations.py # 2. 创建管理员用户 python scripts/create_admin_user.py # 3. 创建用户组 python scripts/create_groups.py # 4. 收集静态文件 python scripts/collect_static.py ``` --- ## 启动服务 ### 开发环境 ```bash cd backend python manage.py runserver ``` ### 生产环境 ```bash cd backend gunicorn backend.wsgi:application -c gunicorn_conf.py ``` --- ## 常见问题 ### 1. 数据库连接失败 检查 `conf/env.py` 中的数据库配置是否正确,确保数据库已创建且用户有足够的权限。 ### 2. 迁移失败 确保数据库表不存在或为空。如果之前有迁移历史,可能需要删除 `migrations` 目录下的迁移文件(保留 `__init__.py`)。 ### 3. 静态文件收集失败 确保 `STATIC_ROOT` 目录有写入权限。 ### 4. 用户已存在 脚本会自动检测用户是否已存在,如果存在则跳过创建。 --- ## 数据库表结构说明 ### lunaruser 应用 - `lunaruser_myuser` - 用户表(继承自 Django AbstractUser) ### lunarlink 应用 - `project` - 项目信息表 - `config` - 环境信息表 - `api` - 接口信息表 - `case` - 用例信息表 - `case_step` - 用例步骤表 - `variables` - 全局变量表 - `debugtalk` - 驱动代码表 - `report` - 测试报告表 - `report_detail` - 测试报告详情表 - `relation` - 树形结构关系表 - `visit` - 访问日志表 - `login_log` - 登录日志表 --- ## 安全建议 1. **修改默认密码:** 首次登录后立即修改管理员密码 2. **使用强密码:** 密码长度至少 8 位,包含大小写字母、数字和特殊字符 3. **限制访问:** 在生产环境中配置防火墙规则 4. **启用 HTTPS:** 生产环境必须使用 HTTPS 5. **定期备份:** 定期备份数据库和重要文件 --- ## 技术支持 如有问题,请查看项目文档或联系技术支持团队。