二开与升级
多数定制过的后台模板在第一个真实项目后就与上游漂移——一旦手改了核心,就再也无法在不痛苦合并的情况下接更新。StackRivet 的设计让定制保持可升级。
通过模块定制,而非核心
Section titled “通过模块定制,而非核心”安全扩展 StackRivet 的方式:
- 生成或手写业务模块,而不是原地改核心模块。每个模块自包含,并声明模块 manifest(名称、版本、菜单、权限、字典、迁移、AI 规则)。
- 通过 Flyway 迁移在你的模块内加表——绝不手改 schema。
- 扩展,别 fork。 往
tokens.scss加 token、在 manifest 注册权限、贡献一个DataScopeTableContributor——用扩展点,而不是重写核心。
生成文件会带模板元数据和文件 hash,且生成器不会覆盖你改过的文件(除非显式确认)。这些元数据正是升级时区分”未动的生成文件”和”你改过这个”的依据。
升级如何运作
Section titled “升级如何运作”Community 交付干净升级的基本要件:
- 版本迁移说明,描述改了什么。
- 数据库迁移脚本(Flyway),覆盖 schema 增量。
- 每个版本的 breaking change 清单。
因为你的定制活在你自己的模块里,并被 manifest、迁移和文件 hash 追踪,升级是对这些做 diff——而不是盲目合并进改过的核心文件。
升级助手(Pro / Enterprise)
Section titled “升级助手(Pro / Enterprise)”付费版把 diff 自动化:
- Pro——本地版本检测、配置差异检测、二开差异扫描、基础 OpenRewrite recipe 和升级报告。
- Enterprise——完整 OpenRewrite recipe 和升级 PR 生成,把框架、模板、API 迁移变成可应用的 PR。
见价格页。来自 RuoYi / JEECG 和老系统的迁移作为服务提供。
引擎留在上游,你的价值留在你的模块里。模块 manifest、迁移、模板元数据和文件 hash 这套机制,正是让”既定制又可升级”同时成立的关键。