数据库迁移说明须含具体命令、真实表结构、目标版本号(如postgresql 14)、执行角色权限(如deploy用户仅限myapp_staging库dml)、每步校验sql及不可逆操作警示,禁用抽象表述与模糊建议。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要一份能直接贴进项目文档、让DBA和后端工程师一眼看懂操作路径的数据库迁移说明,而不是“确保数据一致性”“注意备份”这类谁都知道却无法执行的套话。
先砍掉所有无效修饰词
删掉“建议”“可以”“应尽量”“务必确保”——这些词不指向具体动作,只制造责任模糊。把“建议在迁移前备份”改成“执行 mysqldump -h prod-db -u root -p --single-transaction myapp > backup_20240520.sql”。
遇到“平滑过渡”“无缝切换”“高可用保障”这类抽象表述,立刻问自己:这一步要敲哪条命令?哪个服务要重启?超时时间设多少?答不上来就删。
用真实字段名和表结构替代占位符
方法一:从当前生产库导出实际 DDL 片段,粘贴进提示词里。例如写明 ALTER TABLE user_profile ADD COLUMN last_login_at DATETIME NULL DEFAULT NULL AFTER updated_at; 而不是“添加时间字段”。
方法二:在提示词中强制要求 ChatGPT 输出带环境标识的 SQL。比如指定“所有表名前缀为 staging_,且仅生成 PostgreSQL 14 兼容语法”,它就不会输出 SHOW CREATE TABLE 这种 MySQL 专属语句。
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
【必须提供目标数据库版本号】,不同版本对 JSONB 字段索引、分区表语法支持差异极大,没版本号的迁移说明等于废纸。
绑定具体执行角色和权限范围
第一步:明确写清“该脚本由运维人员在跳板机上以 deploy 用户身份执行,deploy 用户仅有 myapp_staging 库的 SELECT、INSERT、UPDATE 权限,无 DROP 权限”。
第二步:列出每条 SQL 执行后的校验动作。例如“执行完 UPDATE order SET status = 'shipped' WHERE id IN (1001,1002); 后,立即运行 SELECT COUNT(*) FROM order WHERE id IN (1001,1002) AND status = 'shipped'; 验证结果为 2”。
第三步:标注不可逆操作。如“TRUNCATE TABLE temp_migration_log; 将永久删除日志,执行前需确认已归档至 S3://myapp-logs/migration/20240520/”。










