Sanity生产预览模式下SchemaType更新不生效问题求助
Sanity Studio生产预览不同步Schema修改的解决办法
核心问题定位
你遇到的情况是本地开发模式下Schema修改生效,但生产预览不更新,本质是本地Schema没有成功部署到Sanity云端,加上预览页面可能存在缓存问题。
分步解决方案
1. 强制重新部署Schema到云端
开发模式的修改仅在本地生效,必须把Schema推到Sanity云端才能同步到生产预览。直接执行:
sanity deploy
这个命令会跳过之前的提示,强制将本地Schema部署到关联的Sanity项目,覆盖云端旧的Schema配置。
2. 处理预览页面的缓存(针对revalidate配置)
你看到的export const revalidate = 60;是用于Next.js这类框架的页面缓存刷新,需要添加在渲染生产预览内容的页面组件文件里:
- 如果是App Router结构,放在
app/[your-preview-path]/page.tsx - 如果是Pages Router结构,放在
pages/[your-preview-path].tsx
这个配置会让页面每60秒重新从Sanity获取数据,避免因为缓存展示旧的字段结构。
3. 确认项目关联正确性
- 执行
sanity whoami检查当前登录账号是否对应生产项目,如果未登录,执行sanity login重新绑定 - 核对
sanity.config.ts(或sanity.json)里的projectId和dataset,确保和生产环境完全一致,避免推错项目
4. 手动清除云端缓存
登录Sanity管理后台,进入对应项目的设置 > 数据集,找到缓存相关选项(如“清除数据集缓存”),手动清除后刷新生产预览页面。
额外排查点
如果以上步骤都没用,检查是否有部署平台的缓存(比如Vercel、Netlify等),手动触发一次全量重新部署,确保新的Schema被打包到生产环境。
内容的提问来源于stack exchange,提问作者Alex Carliner
相关产品推荐
相关产品推荐

