id(); $table->string('slug', 100)->unique()->comment('项目唯一标识,如 portal-be'); $table->string('name', 255)->comment('显示名称'); $table->string('directory', 255)->nullable()->comment('相对于 projects_path 的目录名'); $table->string('absolute_path', 500)->nullable()->comment('绝对路径覆盖(可选)'); $table->string('jira_project_code', 50)->nullable()->comment('JIRA 项目代码'); // Git 监控相关 $table->boolean('git_monitor_enabled')->default(false)->comment('是否启用 Git 监控'); $table->string('git_last_checked_commit', 64)->nullable()->comment('最后检查的 commit SHA'); $table->string('git_current_version', 50)->nullable()->comment('当前版本号'); $table->string('git_release_branch', 255)->nullable()->comment('Release 分支名'); $table->timestamp('git_version_cached_at')->nullable()->comment('版本缓存时间'); // 日志分析相关 $table->json('log_app_names')->nullable()->comment('关联的 App 名称列表'); $table->string('log_env', 50)->default('production')->comment('日志分析环境'); $table->timestamps(); $table->index('jira_project_code', 'idx_jira_project_code'); $table->index('git_monitor_enabled', 'idx_git_monitor_enabled'); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('projects'); } };