You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
目标描述
忽略group而强行导出
的行为,这样能提前发现不希望导出的字段。当前的问题
luban/src/Luban.Core/RawDefs/RawGroup.cs
Line 5 in b037420
3.1
是否为table的默认导出目标,即如果 table 的 group 为空,自动属于此分组
。当前如果 table 的 group 为空,现在会默认导出、因为 default 没生效。 https://github.com/focus-creative-games/luban/blob/b03742079afb3ba6d7d30dba044bec36d187eb77/src/Luban.Core/Defs/DefAssembly.cs#L116C1-L123C1如果想不导出某个table,必须手动配置其 group。(比如已有很多table定义,想新增一个target,只导出部分表,必须把之前所有的 table 定义加上 group,这本来是group默认值能实现的)
3.2
group的default字段对于enum、bean及field(bean的成员字段)不生效。
。enum 和 bean如果被导出的表引用会忽略 group 而强行导出。但是如果是 reference 其他表int#ref=xx.TbYyy
这种形式,若引用到的 table 不导出则会抛异常。luban/src/Luban.DataValidator.Builtin/Ref/RefValidator.cs
Line 160 in b037420
3.2.1 如果期望某个 target 不导出某 enum ,当被引用到时无法像 table 那样抛异常而避免强行导出。
3.2.2 如果期望某个 target 导出所有默认 enum,用户必须手动去配置 enum 的 group。这里如果有个全局的默认 group 就方便很多。
Beta Was this translation helpful? Give feedback.
All reactions