1.0.347.sql 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. -- 1.0.347 模块看板统一异步重算任务表与作用域锁。
  2. SET NAMES utf8mb4;
  3. CREATE TABLE IF NOT EXISTS `ado_module_dashboard_rebuild_job` (
  4. `id` BIGINT NOT NULL AUTO_INCREMENT,
  5. `module_code` VARCHAR(8) NOT NULL,
  6. `tenant_id` BIGINT NOT NULL,
  7. `factory_id` BIGINT NOT NULL DEFAULT 1,
  8. `status` VARCHAR(20) NOT NULL,
  9. `trigger_type` VARCHAR(20) NOT NULL,
  10. `requested_by` BIGINT NULL,
  11. `batch_id` VARCHAR(100) NULL,
  12. `transform_run_log_id` BIGINT NULL,
  13. `current_stage` VARCHAR(32) NOT NULL DEFAULT 'QUEUED',
  14. `stage_index` TINYINT NOT NULL DEFAULT 0,
  15. `stage_total` TINYINT NOT NULL DEFAULT 0,
  16. `progress_percent` TINYINT NOT NULL DEFAULT 0,
  17. `progress_message` VARCHAR(255) NULL,
  18. `failed_stage` VARCHAR(32) NULL,
  19. `stage_rows` INT NOT NULL DEFAULT 0,
  20. `standard_rows` INT NOT NULL DEFAULT 0,
  21. `dwd_rows` INT NOT NULL DEFAULT 0,
  22. `kpi_rows` INT NOT NULL DEFAULT 0,
  23. `atomic_rows` INT NOT NULL DEFAULT 0,
  24. `detail_json` TEXT NULL,
  25. `error_message` VARCHAR(2000) NULL,
  26. `submitted_at` DATETIME(3) NOT NULL,
  27. `started_at` DATETIME(3) NULL,
  28. `finished_at` DATETIME(3) NULL,
  29. `heartbeat_at` DATETIME(3) NULL,
  30. `last_progress_at` DATETIME(3) NULL,
  31. `duration_ms` BIGINT NULL,
  32. `create_time` DATETIME(3) NOT NULL,
  33. `update_time` DATETIME(3) NOT NULL,
  34. PRIMARY KEY (`id`),
  35. KEY `ix_mdp_rebuild_scope` (`module_code`, `tenant_id`, `factory_id`, `status`, `submitted_at`),
  36. KEY `ix_mdp_rebuild_status` (`status`, `submitted_at`),
  37. KEY `ix_mdp_rebuild_heartbeat` (`heartbeat_at`, `status`)
  38. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  39. CREATE TABLE IF NOT EXISTS `ado_mdp_rebuild_lock` (
  40. `lock_name` VARCHAR(160) NOT NULL,
  41. `module_code` VARCHAR(8) NOT NULL,
  42. `tenant_id` BIGINT NOT NULL,
  43. `factory_id` BIGINT NOT NULL,
  44. `holder_id` VARCHAR(100) NULL,
  45. `job_id` BIGINT NULL,
  46. `status` VARCHAR(20) NOT NULL DEFAULT 'FREE',
  47. `acquired_at` DATETIME(3) NULL,
  48. `heartbeat_at` DATETIME(3) NULL,
  49. `create_time` DATETIME(3) NOT NULL,
  50. `update_time` DATETIME(3) NOT NULL,
  51. PRIMARY KEY (`lock_name`),
  52. KEY `ix_mdp_rebuild_lock_scope` (`module_code`, `tenant_id`, `factory_id`),
  53. KEY `ix_mdp_rebuild_lock_heartbeat` (`status`, `heartbeat_at`)
  54. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;