V20260615_01__lobster_execution_mode.sql 2.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. -- Lobster dual-mode execution: tenant switches + template execution_mode + task contact id
  2. CREATE TABLE IF NOT EXISTS `lobster_execution_config`
  3. (
  4. `id` bigint NOT NULL AUTO_INCREMENT,
  5. `company_id` bigint NOT NULL COMMENT 'tenant company id',
  6. `default_execution_mode` varchar(16) NOT NULL DEFAULT 'HYBRID' COMMENT 'PROMPT/INSTANCE/HYBRID',
  7. `enable_content_personalization` tinyint NOT NULL DEFAULT 1 COMMENT 'content personalization',
  8. `enable_flow_personalization` tinyint NOT NULL DEFAULT 1 COMMENT 'flow personalization',
  9. `strict_fixed_workflow` tinyint NOT NULL DEFAULT 0 COMMENT '1=strict fixed canvas nodes',
  10. `auto_start_instance_on_tag` tinyint NOT NULL DEFAULT 0 COMMENT 'auto startWorkflow on tag bind',
  11. `create_by` varchar(64) DEFAULT NULL,
  12. `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  13. `update_by` varchar(64) DEFAULT NULL,
  14. `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  15. PRIMARY KEY (`id`),
  16. UNIQUE KEY `uk_company_id` (`company_id`)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='lobster execution policy';
  18. SET @col_exists := (SELECT COUNT(*) FROM information_schema.COLUMNS
  19. WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'company_workflow_lobster' AND COLUMN_NAME = 'execution_mode');
  20. SET @ddl := IF(@col_exists = 0,
  21. 'ALTER TABLE company_workflow_lobster ADD COLUMN execution_mode varchar(16) DEFAULT NULL COMMENT ''PROMPT/INSTANCE/HYBRID'' AFTER canvas_data',
  22. 'SELECT 1');
  23. PREPARE stmt FROM @ddl;
  24. EXECUTE stmt;
  25. DEALLOCATE PREPARE stmt;
  26. SET @col_exists := (SELECT COUNT(*) FROM information_schema.COLUMNS
  27. WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'company_workflow_lobster_task' AND COLUMN_NAME = 'external_contact_id');
  28. SET @ddl := IF(@col_exists = 0,
  29. 'ALTER TABLE company_workflow_lobster_task ADD COLUMN external_contact_id bigint DEFAULT NULL COMMENT ''qw_external_contact.id'' AFTER binding_id',
  30. 'SELECT 1');
  31. PREPARE stmt FROM @ddl;
  32. EXECUTE stmt;
  33. DEALLOCATE PREPARE stmt;