CREATE TABLE IF NOT EXISTS admins ( id BIGINT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(64) NOT NULL UNIQUE, password VARCHAR(256) NOT NULL, name VARCHAR(64), email VARCHAR(128), phone VARCHAR(32), role VARCHAR(32) DEFAULT 'ADMIN', status VARCHAR(32) DEFAULT 'ACTIVE', last_login_time TIMESTAMP, last_login_ip VARCHAR(64), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS utterances ( id BIGINT AUTO_INCREMENT PRIMARY KEY, utterance_id VARCHAR(64) NOT NULL UNIQUE, corp_id VARCHAR(64) NOT NULL, title VARCHAR(128) NOT NULL, content TEXT NOT NULL, content_text TEXT, version INT DEFAULT 1, status VARCHAR(32) DEFAULT 'DRAFT', priority INT DEFAULT 5, stage_tags TEXT, intent_tags TEXT, profile_tags TEXT, course_type_tags TEXT, emotion_tags TEXT, topic_tags TEXT, used_count INT DEFAULT 0, selected_count INT DEFAULT 0, positive_feedback INT DEFAULT 0, negative_feedback INT DEFAULT 0, conversion_count INT DEFAULT 0, success_rate DECIMAL(5,4) DEFAULT 0.0000, avg_response_time_ms INT, has_vector TINYINT DEFAULT 0, vector_updated_at TIMESTAMP, trigger_keywords TEXT, variables TEXT, created_by VARCHAR(64), reviewed_by VARCHAR(64), source VARCHAR(32) DEFAULT 'MANUAL', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); CREATE TABLE IF NOT EXISTS knowledge_documents ( id BIGINT AUTO_INCREMENT PRIMARY KEY, doc_id VARCHAR(64) NOT NULL UNIQUE, corp_id VARCHAR(64) NOT NULL, title VARCHAR(256) NOT NULL, content TEXT, content_text TEXT, doc_type VARCHAR(32), category VARCHAR(64), tags TEXT, status VARCHAR(32) DEFAULT 'ACTIVE', has_vector TINYINT DEFAULT 0, vector_updated_at TIMESTAMP, created_by VARCHAR(64), updated_by VARCHAR(64), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 );