
在vtex平台中,产品创建操作默认全局生效,不随工作区(如dev、master)隔离——即在开发工作区新建产品,会自动同步至所有工作区(含master),这是平台固有设计,非配置错误或bug。
VTEX Commerce 的产品目录(Catalog)数据层采用全局共享架构,而非工作区(Workspace)隔离模型。这意味着:
- 无论您当前登录的是 myaccount-dev、myaccount-qa 还是 myaccount(master),只要拥有 catalog-manager 权限,通过 Admin 后台、API(如 POST /catalog/pvt/products)或 IO 模块创建/更新产品,该变更将立即生效于整个账户(Account)下的所有工作区;
- 工作区(Workspace)在 VTEX 中主要用于代码部署、主题配置、CMS 内容、应用版本灰度等前端与逻辑层隔离,但核心业务数据(如 SKU、Product、Category、Inventory)均属账户级资源,不具备工作区作用域。
✅ 正确的隔离测试实践如下:
-
使用独立 QA 账户进行功能验证
VTEX 官方推荐方案:为测试目的单独申请一个隔离的 QA 账户(如 mybrand-qa.vtexcommercestable.com),该账户拥有独立的 Catalog、Orders、Clients 等数据空间,与生产账户(含 master workspace)完全物理隔离。⚠️ 注意:同一账户下的不同 workspace 无法实现 Catalog 数据隔离 —— 这是平台底层设计限制,不可通过权限、环境变量或配置绕过。
-
开发阶段避免真实产品创建
BizPower CRM客户管理系统通过使用BizPower CRM解决方案,您的员工、生产过程及信息能够与客户保持着平稳、无间断的联络,并且能够通过以客户为焦点、创新的产品和服务;以客户为中心,更高层次的生产过程;持久有益的客户关系这三个方面创造有价值客户的领导关系。选择Bizpower CRM的原因1、灵活的数据权限和功能权限BizPower CRM 系统通过引入了灵活的数据权限和功能权限,模仿现实中协同工作的实际情况。 实现企
- 在 dev workspace 中,优先使用 Mock 数据 + Stub API 响应(例如通过 VTEX IO 的 mocks 功能或本地 MSW 拦截)模拟产品行为;
- 若需真实 SKU 测试,可创建带明确前缀的临时产品(如 DEV-TEST-SHIRT-001),并在上线前批量归档(Archive)或软删除(标记 isActive: false);
- 利用 vtex catalog CLI 命令配合 –workspace 参数仅控制发布状态可见性(如隐藏 dev 专属 SKU 在 master 的 storefront 展示),但数据本身仍存在于所有 workspace。
-
关键提醒:Inventory 与 Pricing 同样全局生效
不仅 Product 主体数据,其关联的库存(Inventory)、价格(Price List)、分类归属(Category Tree)等也遵循相同规则。因此,在 dev workspace 调整某 SKU 库存为 0,master 中该 SKU 也将显示缺货——务必谨慎操作。
总结:这不是需要“修复”的问题,而是 VTEX 多环境协作模型的设计前提。真正的隔离必须上升到账户级别(Account-level isolation),而非 workspace 级别。团队应建立规范流程:开发用 dev workspace 验证 UI/UX 和集成逻辑;QA 用独立 QA 账户验证端到端业务流;生产变更仅通过 master workspace + CI/CD 审批流水线执行。