如何在Snaplet快照恢复时忽略指定schema(如vault)不重置?
解决Snaplet快照恢复时忽略指定Schema的问题
方法1:通过配置文件排除目标Schema
Snaplet支持通过项目根目录的配置文件来指定要排除的Schema,配置方式更持久且灵活:
- 在项目根目录创建或修改
snaplet.config.ts(或.js)文件,添加excludeSchemas配置项:
import { defineConfig } from "@snaplet/config"; export default defineConfig({ snapshot: { excludeSchemas: ["vault"], // 填入需要忽略的Schema名称 }, });
- 保持原恢复命令不变即可生效:
npx @snaplet/snapshot ss r --no-reset
方法2:使用命令行参数直接排除
如果偏好命令行操作,snapshot restore(ss r是简写)支持通过--exclude参数指定要排除的对象,直接针对Schema设置规则:
npx @snaplet/snapshot ss r --no-reset --exclude="schema:vault"
若需要排除多个Schema,用逗号分隔即可:
npx @snaplet/snapshot ss r --no-reset --exclude="schema:vault,schema:other_schema"
验证效果
执行命令后,检查vault Schema下的表结构和数据是否保留,确认恢复操作仅作用于其他目标Schema。
内容的提问来源于stack exchange,提问作者syntactic
相关产品推荐
相关产品推荐

