模型发布护栏:为什么发布才生效、删除为何不可恢复

「草稿 → 预览 → 发布」是平台对结构变更设的三道闸。本文讲发布为什么是分界点、预览先行在防什么、以及删除字段为何不可恢复。

本文解决什么问题:用衍数搭系统时,改模型和「系统真的变了」之间隔着一道叫发布的门。很多人困惑「我明明保存了为什么没生效」「删个字段为什么系统拦我」。这篇把模型从定义到生效的完整路径和护栏讲清楚。

一句话机制

数据模型的一生走 草稿 → 预览 → 发布 三个阶段,只有发布会让底层结构真正改变:

  • 草稿:模型定义还没落库——改多少遍都不影响系统;
  • 预览:提交前平台先生成一份「建表结构预览」,只读展示将要产生的结构,这一步不落库、完全可逆
  • 发布:确认后真正落库,数据表、随之而来的接口与页面能力一并生效。

所以「改了没生效」多半不是 bug,而是改动还停在草稿、没有发布。发布前的预览阶段,是您反复检查结构的窗口——越早发现要改的,代价越小。

为什么「预览」和「发布」必须分开

传统开发里,改数据库结构往往是「直接执行」——错了就回滚或手工修,风险都压在一次操作上。

衍数把「看清要变成什么样」和「真的变」拆成两步,中间留一个人工确认闸:

  • 预览是只读的——它展示的是「如果发布会生成什么」,不碰任何真实数据,不满意直接返回改;
  • 发布才是分界点——真正改变系统结构,需要管理员权限并二次确认。

对实施来说,预览这道闸最值钱:一份新模型或一次结构调整,先在预览里反复核对字段、类型、关联,比发布后发现问题再返工划算得多。

破坏性变更:为什么删除字段不可恢复

发布并不都是「新增」,也可能是删除字段 / 修改字段类型这类破坏性变更。这里有一条硬规则:

删除字段,会将该字段下的历史业务数据一并移除且不可恢复——平台按字段真实删除,不留影子。

因此正式环境的删除类操作,会要求管理员权限并二次确认;动手前请先确认影响范围、做好备份。平台宁可让您多确认一次,也不让一次误删带走历史数据。测试/演示环境则可放心操作——那里的数据可以重置。

发布后发生了什么

一次成功的发布,不止是「建了一张表」:

  • 模型的列表、查询、表单、详情基本自动可用(详见从模型到页面);
  • 数据在创建时被自动记录归属信息(由谁、在哪个部门创建)——这正是权限体系里「按部门/按人过滤数据行」能零配置生效的基础:发布一个模型,就等于同时为它备好了行级数据权限的依据

常见疑问

在演示环境里删除字段,会不会影响正式系统? 不会。演示环境是独立的体验沙箱(数据可重置),操作不触碰正式系统的结构。正式环境里的结构变更始终需要确认。

发布错了能回退吗? 新增类的发布相对安全;删除字段 / 改类型这类破坏性变更不可自动恢复,所以依赖「预览反复看 + 二次确认 + 提前备份」这三件事在前置环节把关。涉及数据迁移的大改动,建议在测试环境完整演练后再上正式。

是不是每个模型都一定要发布才能用? 是——发布才是模型对系统「可见」的分界。停留在草稿的模型不产生真实能力。

相关阅读