是否可以在不弄乱生产数据库的情况下更改 eti 中的默认值或字段?有一个下拉菜单默认为其他我想默认为下拉菜单中的另一个值。我不想弄乱数据库。除了自己的 eti 文件之外,还有其他方法可以在下拉列表中设置默认值吗?
2 回答
你为什么要搞乱数据库?
SQL 中的默认值实际上为NULL
输入期间的字段设置此值。这不应该需要删除数据库,也不应该破坏任何东西。
至于改变这个。如果那不是 OOTB 实体,您应该可以在.eti
.
至于您的用例 - 下拉列表中的值是什么?我会假设这是一个类型列表,这才是你真正应该修改的(在那里寻找优先级)。
编辑
以覆盖例如 OOTB 实体的列User.eti
User.etx
如果它不存在,请打开或创建它。modules\configuration\config\extensions\entity\User.etx
.右键单击要覆盖的列 -
ExternalUser
在您的情况下。选择覆盖。在列表的顶部
column-override
应该创建一个 - 在那里更改默认值。
如果它是一个 OOTB .eti 文件,那么您应该创建一个 .etx 文件并使用<column-override>
or<typekey-override>
元素覆盖默认属性值(根据元素类型,您还可以使用其他覆盖元素,例如<array-override>
等<foreignkey-override>
),例如:
用户.eti:
<column
default="false"
desc="Example"
name="EntityName"
nullok="false"
type="bit"/>
用户.etx:
<column-override
default="true"
name="EntityName"/>
覆盖属性的默认值只会影响新数据;它不会更改数据库中已经存在的值。如果您需要更改旧数据,可以使用升级版本触发器(BeforeUpgradeVersionTrigger
或AfterUpgradeVersionTrigger
)。