mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 07:22:49 +08:00
feat(timer): 新增定时任务表的数据库迁移文件
补充 system_timer_config 和 system_timer_log 的数据库迁移,确保全新安装时 migrate:run 能正确建表 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
44
database/migrations/20260527100000_system_timer_config.php
Normal file
44
database/migrations/20260527100000_system_timer_config.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use think\migration\Migrator;
|
||||||
|
|
||||||
|
class SystemTimerConfig extends Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Change Method.
|
||||||
|
*
|
||||||
|
* Write your reversible migrations using this method.
|
||||||
|
*
|
||||||
|
* More information on writing migrations is available here:
|
||||||
|
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
|
||||||
|
*
|
||||||
|
* The following commands can be used in this method and Phinx will
|
||||||
|
* automatically reverse them when rolling back:
|
||||||
|
*
|
||||||
|
* createTable
|
||||||
|
* renameTable
|
||||||
|
* addColumn
|
||||||
|
* renameColumn
|
||||||
|
* addIndex
|
||||||
|
* addForeignKey
|
||||||
|
*
|
||||||
|
* Remember to call "create()" or "update()" and NOT "save()" when working
|
||||||
|
* with the Table class.
|
||||||
|
*/
|
||||||
|
public function change()
|
||||||
|
{
|
||||||
|
$table = $this->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();
|
||||||
|
}
|
||||||
|
}
|
||||||
49
database/migrations/20260527100001_system_timer_log.php
Normal file
49
database/migrations/20260527100001_system_timer_log.php
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use think\migration\Migrator;
|
||||||
|
|
||||||
|
class SystemTimerLog extends Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Change Method.
|
||||||
|
*
|
||||||
|
* Write your reversible migrations using this method.
|
||||||
|
*
|
||||||
|
* More information on writing migrations is available here:
|
||||||
|
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
|
||||||
|
*
|
||||||
|
* The following commands can be used in this method and Phinx will
|
||||||
|
* automatically reverse them when rolling back:
|
||||||
|
*
|
||||||
|
* createTable
|
||||||
|
* renameTable
|
||||||
|
* addColumn
|
||||||
|
* renameColumn
|
||||||
|
* addIndex
|
||||||
|
* addForeignKey
|
||||||
|
*
|
||||||
|
* Remember to call "create()" or "update()" and NOT "save()" when working
|
||||||
|
* with the Table class.
|
||||||
|
*/
|
||||||
|
public function change()
|
||||||
|
{
|
||||||
|
$table = $this->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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user