-- IM 企业入口注册与问题反馈 SQL -- 更新时间:2026-08-24 -- -- 执行范围:hotgo 控制库。 -- 说明:未登录企业注册、入口问题反馈发生在租户绑定前,因此公共附件和申请单不放入租户业务库。 -- 文件对象通过 IM 服务端当前 media handler 存储;生产环境应配置 media.use_handler=oss。 USE hotgo; CREATE TABLE IF NOT EXISTS im_public_uploads ( id BIGINT NOT NULL AUTO_INCREMENT, file_id VARCHAR(64) NOT NULL, purpose VARCHAR(64) NOT NULL, mime_type VARCHAR(128) NOT NULL DEFAULT '', size BIGINT NOT NULL DEFAULT 0, etag VARCHAR(128) NOT NULL DEFAULT '', location VARCHAR(2048) NOT NULL DEFAULT '', expires_at DATETIME(3), created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), uploaded_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), PRIMARY KEY(id), UNIQUE INDEX uk_im_public_uploads_file(file_id), INDEX idx_im_public_uploads_purpose(purpose, created_at), INDEX idx_im_public_uploads_expires(expires_at) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE IF NOT EXISTS im_tenant_applications ( id BIGINT NOT NULL AUTO_INCREMENT, application_id VARCHAR(64) NOT NULL, credit_code VARCHAR(18) NOT NULL, enterprise_email VARCHAR(255) NOT NULL DEFAULT '', license_file_id VARCHAR(64) NOT NULL DEFAULT '', tenant_code_hint VARCHAR(64) NOT NULL DEFAULT '', client_context JSON, idempotency_key VARCHAR(128) NOT NULL, status VARCHAR(32) NOT NULL DEFAULT 'received', estimated_review_hour INT NOT NULL DEFAULT 24, submitted_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY(id), UNIQUE INDEX uk_im_tenant_applications_app(application_id), UNIQUE INDEX uk_im_tenant_applications_idempotency(idempotency_key), INDEX idx_im_tenant_applications_credit(credit_code), INDEX idx_im_tenant_applications_status(status, id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; CREATE TABLE IF NOT EXISTS im_tenant_entry_feedbacks ( id BIGINT NOT NULL AUTO_INCREMENT, feedback_id VARCHAR(64) NOT NULL, description TEXT NOT NULL, contact VARCHAR(255) NOT NULL DEFAULT '', tenant_code_hint VARCHAR(64) NOT NULL DEFAULT '', screenshot_file_ids JSON, client_context JSON, idempotency_key VARCHAR(128) NOT NULL, status VARCHAR(32) NOT NULL DEFAULT 'received', submitted_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), PRIMARY KEY(id), UNIQUE INDEX uk_im_tenant_entry_feedbacks_feedback(feedback_id), UNIQUE INDEX uk_im_tenant_entry_feedbacks_idempotency(idempotency_key), INDEX idx_im_tenant_entry_feedbacks_status(status, id), INDEX idx_im_tenant_entry_feedbacks_hint(tenant_code_hint, id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;