每条迁移步骤必须明确写出:①影响范围:具体到表名、字段名、索引名;②不可逆性:是否删数据/改类型/丢精度,回滚语句能否100%还原;③前置校验项:执行前必验的sql查询。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Gemini在生成数据库迁移说明时,主动识别并明确写出每一步操作的真实风险点,而不是用“请谨慎操作”这类模糊表述一笔带过。
补入结构化风险触发指令
在提示词开头直接定义输出格式约束:要求每条迁移步骤必须包含「影响范围」「不可逆性」「前置校验项」三个字段,缺一不可。
例如追加这句话:【每条迁移语句的说明必须分三行写:① 影响范围:具体到表名、字段名、索引名;② 不可逆性:是否删数据/改类型/丢精度,若需回滚,必须写明回滚语句能否100%还原;③ 前置校验项:执行前必须验证的SQL查询,如SELECT COUNT(*) FROM xxx WHERE yyy IS NULL】。
强制绑定生产环境约束条件
方法一:在提示词中嵌入硬性前提声明。
写明:“所有迁移说明默认针对已上线的MySQL 8.0主库,字符集为utf8mb4,且无从库延迟容忍。若某操作在该环境下存在锁表超时、binlog格式不兼容、或触发复制中断风险,必须单列‘复制风险’条目并标注GTID事务号影响范围。”
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
方法二:用反例排除法封堵模糊空间。
追加一句:“禁止出现‘可能影响性能’‘建议在低峰期执行’等无效提示;必须量化——例如‘ALTER TABLE t_user ADD COLUMN status TINYINT DEFAULT 0’会导致t_user表级写锁约23分钟(基于1.2亿行预估),期间INSERT/UPDATE阻塞,DELETE可正常执行。”
注入校验动作锚点
第一步:要求Gemini在每份迁移说明末尾,插入一个「校验节」。
第二步:规定校验节必须包含三类语句:迁移后必查项(如DESCRIBE t_user)、业务逻辑验证SQL(如SELECT COUNT(*) FROM t_user WHERE status = 0 AND created_at > NOW() - INTERVAL 1 DAY)、以及异常信号捕获SQL(如SELECT * FROM information_schema.INNODB_TRX WHERE TIME_TO_SEC(NOW() - trx_started) > 60)。
第三步:强调【若校验SQL未返回预期结果,迁移流程必须终止,不得进入下一步】。










