diff --git a/database/migrations/20260527100000_system_timer_config.php b/database/migrations/20260527100000_system_timer_config.php new file mode 100644 index 0000000..d45edf8 --- /dev/null +++ b/database/migrations/20260527100000_system_timer_config.php @@ -0,0 +1,44 @@ +table('system_timer_config') + ->setComment('定时任务协调配置表') + ->addColumn('task_name', 'string', ['limit' => 100, 'null' => false, 'comment' => '任务名称']) + ->addColumn('run_type', 'string', ['limit' => 20, 'default' => 'auto', 'comment' => '运行类型:main/auto/all/manual']) + ->addColumn('status', 'integer', ['limit' => 4, 'null' => false, 'default' => 1, 'comment' => '状态:0=停用,1=启用']) + ->addColumn('is_synced', 'integer', ['limit' => 4, 'null' => false, 'default' => 0, 'comment' => '是否已同步:0=未同步,1=已同步']) + ->addColumn('last_execute_node', 'string', ['limit' => 100, 'null' => true, 'comment' => '最后执行节点ID']) + ->addColumn('last_execute_time', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '最后执行时间戳', 'signed' => false]) + ->addColumn('manual_trigger', 'integer', ['limit' => 4, 'null' => false, 'default' => 0, 'comment' => '手动触发标记:0=未触发,1=已触发']) + ->addColumn('create_time', 'integer', ['limit' => 11, 'comment' => '创建时间', 'signed' => false]) + ->addColumn('update_time', 'integer', ['limit' => 11, 'comment' => '更新时间', 'signed' => false]) + ->addIndex('task_name', ['unique' => true]) + ->create(); + } +} diff --git a/database/migrations/20260527100001_system_timer_log.php b/database/migrations/20260527100001_system_timer_log.php new file mode 100644 index 0000000..7a4fa05 --- /dev/null +++ b/database/migrations/20260527100001_system_timer_log.php @@ -0,0 +1,49 @@ +table('system_timer_log') + ->setComment('定时器执行日志表') + ->addColumn('task_name', 'string', ['limit' => 100, 'null' => false, 'comment' => '任务名称']) + ->addColumn('node_id', 'string', ['limit' => 100, 'null' => false, 'comment' => '执行节点ID']) + ->addColumn('run_type', 'string', ['limit' => 20, 'null' => true, 'comment' => '运行类型']) + ->addColumn('start_time', 'integer', ['limit' => 11, 'null' => false, 'comment' => '开始时间戳', 'signed' => false]) + ->addColumn('end_time', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '结束时间戳', 'signed' => false]) + ->addColumn('duration', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '耗时(毫秒)', 'signed' => false]) + ->addColumn('status', 'string', ['limit' => 20, 'default' => 'running', 'comment' => '状态:running/success/error']) + ->addColumn('error_message', 'text', ['null' => true, 'comment' => '错误信息']) + ->addColumn('result', 'text', ['null' => true, 'comment' => '执行结果(任务返回值)']) + ->addColumn('concurrency_id', 'integer', ['limit' => 11, 'default' => 0, 'comment' => '并发分片ID']) + ->addColumn('create_time', 'integer', ['limit' => 11, 'comment' => '创建时间', 'signed' => false]) + ->addIndex('task_name', ['name' => 'idx_task_name']) + ->addIndex('node_id', ['name' => 'idx_node_id']) + ->addIndex('start_time', ['name' => 'idx_start_time']) + ->addIndex('status', ['name' => 'idx_status']) + ->create(); + } +}