-- CreateTable CREATE TABLE `customers` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `customer_id` VARCHAR(64) NOT NULL, `name` VARCHAR(128) NULL, `country` VARCHAR(64) NULL, `email` VARCHAR(128) NULL, `company` VARCHAR(255) NULL, `register_time` DATETIME(3) NULL, `avatar_url` VARCHAR(512) NULL, `buyer_tags` VARCHAR(255) NULL, `buyer_features` VARCHAR(255) NULL, `behavior_product_views` INTEGER NULL, `behavior_valid_inquiries` INTEGER NULL, `behavior_valid_rfq` INTEGER NULL, `behavior_login_days` INTEGER NULL, `behavior_spam_inquiries` INTEGER NULL, `behavior_top_industry` VARCHAR(255) NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updated_at` DATETIME(3) NOT NULL, UNIQUE INDEX `customers_customer_id_key`(`customer_id`), INDEX `customers_country_idx`(`country`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `inquiries` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `inquiry_id` VARCHAR(32) NOT NULL, `customer_id` VARCHAR(64) NULL, `manager` VARCHAR(128) NULL, `create_time` DATETIME(3) NOT NULL, `update_time` DATETIME(3) NOT NULL, `status` VARCHAR(64) NULL, `msg_preview` VARCHAR(512) NULL, `is_flagged` BOOLEAN NOT NULL DEFAULT false, `messages_count` INTEGER NOT NULL DEFAULT 0, `last_send_time` DATETIME(3) NULL, `has_failed_batches` BOOLEAN NOT NULL DEFAULT false, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `updated_at` DATETIME(3) NOT NULL, UNIQUE INDEX `inquiries_inquiry_id_key`(`inquiry_id`), INDEX `inquiries_customer_id_idx`(`customer_id`), INDEX `inquiries_manager_idx`(`manager`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `chat_messages` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `message_id` VARCHAR(64) NOT NULL, `inquiry_id` VARCHAR(32) NOT NULL, `sender` VARCHAR(128) NULL, `direction` ENUM('incoming', 'outgoing', 'system') NOT NULL, `send_time` DATETIME(3) NOT NULL, `content` MEDIUMTEXT NOT NULL, `translation` TEXT NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), UNIQUE INDEX `chat_messages_message_id_key`(`message_id`), INDEX `chat_messages_inquiry_id_send_time_message_id_idx`(`inquiry_id`, `send_time`, `message_id`), INDEX `chat_messages_inquiry_id_idx`(`inquiry_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- CreateTable CREATE TABLE `users` ( `id` BIGINT NOT NULL AUTO_INCREMENT, `username` VARCHAR(191) NOT NULL, `password_hash` VARCHAR(191) NOT NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), UNIQUE INDEX `users_username_key`(`username`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- AddForeignKey ALTER TABLE `inquiries` ADD CONSTRAINT `inquiries_customer_id_fkey` FOREIGN KEY (`customer_id`) REFERENCES `customers`(`customer_id`) ON DELETE SET NULL ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `chat_messages` ADD CONSTRAINT `chat_messages_inquiry_id_fkey` FOREIGN KEY (`inquiry_id`) REFERENCES `inquiries`(`inquiry_id`) ON DELETE RESTRICT ON UPDATE CASCADE;