CREATE TABLE `business_customer` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, `customer_id` VARCHAR(32) NOT NULL, `business_customer_id` VARCHAR(32) NOT NULL, `name` VARCHAR(128) NOT NULL, `external_code` VARCHAR(64) NULL, `status` VARCHAR(16) NOT NULL DEFAULT 'active', `remark` VARCHAR(255) NULL, `is_deleted` BOOLEAN NOT NULL DEFAULT false, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updated_at` DATETIME(3) NOT NULL, PRIMARY KEY (`id`), UNIQUE INDEX `uq_business_customer_tenant_code`(`customer_id`, `business_customer_id`), INDEX `idx_business_customer_tenant_status`(`customer_id`, `status`, `is_deleted`), CONSTRAINT `business_customer_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `host_customer`(`customer_id`) ON DELETE RESTRICT ON UPDATE CASCADE ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `markup_config` ADD COLUMN `business_customer_id` VARCHAR(32) NULL AFTER `customer_id`; ALTER TABLE `quote_record` ADD COLUMN `business_customer_id` VARCHAR(32) NULL AFTER `customer_id`; ALTER TABLE `idempotency_record` ADD COLUMN `business_customer_id` VARCHAR(32) NULL AFTER `customer_id`; ALTER TABLE `quote_query_log` ADD COLUMN `business_customer_id` VARCHAR(32) NULL AFTER `customer_id`; ALTER TABLE `markup_config` DROP INDEX `markup_config_customer_id_key`, ADD UNIQUE INDEX `uq_markup_tenant_business`(`customer_id`, `business_customer_id`), ADD INDEX `idx_markup_tenant_deleted`(`customer_id`, `is_deleted`); ALTER TABLE `quote_record` ADD INDEX `idx_quote_tenant_business_created`(`customer_id`, `business_customer_id`, `created_at`); ALTER TABLE `idempotency_record` ADD INDEX `idx_idem_tenant_business`(`customer_id`, `business_customer_id`); ALTER TABLE `quote_query_log` ADD INDEX `idx_query_log_tenant_business`(`customer_id`, `business_customer_id`, `created_at`);