组件属性

1. 通用属性

介绍组件和其属性之前,先介绍一些大部分组件通用支持的一些基础属性。

1.2 标题

标题是字段在当前页面的展示名称,标题默认为字段名称,可以修改。

image.png

1.2 占位提示

在未填写内容时,输入框或选择框内的浅色提示文字,仅用于提示,不会影响字段的值。

image.png

1.3 描述说明

一个字段的描述信息,通常用于说明当前字段的范围、注意事项等。描述说明大部分在组件的下方显示,特殊的是,分组的描述说明在标题的左侧。

image.png

1.4 默认值

创建数据时,有些字段大概率都是相同值,可设置默认值,减少添加人员的操作步骤,提高录入数据效率。

image.png

1.5 只读

设为只读时,字段可见,但不可编辑。

除了只读和非只读的对立选项,也可以设置条件只读,在设置的条件下才只读,条件不符合则非只读。

image.png

1.6 禁用

设为禁用时,字段可见,但不可编辑。

除了禁用和非禁用的对立选项,也可以设置条件禁用,在设置的条件下才禁用,条件不符合则非禁用。

image.png

1.7 隐藏

设为隐藏时,字段不可见,也不可编辑。但是在页面设计时,隐藏的组件也会展示,效果如下图。

除了隐藏和非隐藏的对立选项,也可以设置条件隐藏,在设置的条件下才隐藏,条件不符合则非隐藏。

image.png

1.8 必填

控制字段在当前页面是否必填,若设置为必填则在标题前会有红色的*作为标识。除了必填和非必填的对立选项,也可以设置条件必填,在设置的条件下才必填,条件不符合则非必填。

image.png

1.9 标题排列方式

字段的标题可以自定义横向排列还是纵向排列。每个字段组件都支持设置,设置后之间互不影响。除了组件支持自定义,表单、分组、选项卡也可以设置排列方式,对于这种布局容器类组件,设置后会将其容器内的所有组件的标题排列方式都改为所设置的值。

image.png

1.10 宽度

定义在页面中的宽度:占整行的比例,一般可选项有1/4、1/3、1/2、2/3、3/4、1。

其中1/2表示占当前行的一半;1表示占当前行一整行;以此类推。部分组件特殊,如富文本仅支持宽度为1,即占一整行。

image.png

2. 分组

分组是一个布局类组件,类似一个容器,可以把业务含义相近的内容放在这个分组容器内。

2.1 属性

2.1.1 标题

分组可以定义一个标题名称,标题显示在分组左上角,可以不设置标题。

2.1.2 描述说明

分组的描述说明显示在分组标题右侧。

image.png

2.1.3 标题排列方式

分组中的标题排列方式属性并不是控制分组的标题,而是控制分组内组件的标题。设置后对分组内的所有组件生效。

image.png

3. 选项卡

选项卡是一个布局类组件,类似一个容器,每个选项卡可以添加多个选项页,可以把业务含义相近的内容放在选项卡的选项页容器内。

image.png

3.1 选项卡属性

3.1.1 选项页排列方式

选中选项卡,可选择选项卡中的选项页排列方式:水平排列、竖直排列。默认是水平排列,效果如下图。

image.png

3.1.2 标题排列方式

选项卡中的标题排列方式控制选项卡内组件的标题。设置后对选项卡内的所有组件生效。

image.png

3.2 选项页属性

3.2.1 标题

选中选项页,显示选项页的属性设置,选项卡中的每个选项页支持设置标题。

3.2.2 标题排列方式

选项页中的标题排列方式控制选项页内组件的标题。设置后对选项页内的所有组件生效。同一个选项卡,不同选项页之间的标题排列方式可以不同。

image.png

4. 单行文本

单行文本输入框,常用于记录名称、身份证号或其他普通的文字内容。

4.1 创建字段

单行文本仅支持创建「文本」业务类型的字段,填写规则、内容和模型设计器端创建字段一致。

image.png

4.2 表单属性

4.2.1 通用属性

在表单中,单行文本可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

4.2.2 文本类型

文本类型选项为文本或密码。若设置为文本,输入时内容是可见的;若设置为密码,输入时是不可见的密码形态,如下图:

image.pngimage.png

4.2.3 最小/大长度

设置输入框输入内容的长度,输入框会根据设置的值进行校验。

  • 最大长度默认为创建字段时填写的长度,且设置的最大长度不可以大于字段的长度
  • 最小长度默认为空,为空则为不限制最小长度

image.png

image.png

4.2.4 输入格式

设置输入格式为网址或者身份证时,会进行格式的校验

  • 无:默认为无,不会校验内容
  • 网址:进行网址校验
  • 身份证:进行身份证号校验,设置后,需要输入正确的身份证号

image.png

4.2.5 显示计数器

当需要用户关注输入内容长度时,可以开启显示计数器,在输入时会实时显示当前内容的长度。

image.png

4.2.6 显示清除按钮

若开启了清除按钮,则在输入框有内容时,点击清除按钮一键清除已有内容

image.pngimage.png

5. 多行文本

多行文本输入框,常用于记录字数较多的文字,如意见、复杂备注等。

5.1 创建字段

多行文本仅支持创建「多行文本」业务类型的字段,填写规则、内容和模型设计器端创建字段一致。

image.png

5.2 表单属性

5.2.1 通用属性

在表单中,单行文本可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

5.2.2 最小/大长度

设置输入框输入内容的长度,输入框会根据设置的值进行校验。

-最大长度默认为创建字段时填写的长度,且设置的最大长度不可以大于字段的长度

-最小长度默认为空,为空则为不限制最小长度

image.png

5.2.3 显示计数器

当需要用户关注输入内容长度时,可以开启显示计数器,在输入时会实时显示当前内容的长度。

image.png

5.2.5 显示清除按钮

若开启了清除按钮,则在输入框有内容时,点击清除按钮一键清除已有内容

image.png

6. 整数

整数输入框,常用于输入整数的天数、数量等,如果会出现小数,请使用小数组件。

6.1 创建字段

整数仅支持创建「整数」业务类型的字段,填写规则、内容和模型设计器端创建字段一致。

image.png

6.2 表单属性

6.2.1 通用属性

在表单中,整数可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

6.2.2 最小/大值

设置整数输入框输入内容的最值,输入框会根据设置的最值进行校验。

  • 最大值可设置的范围根据字段填写的长度转换,如设置长度为3,则最大值最大不可以超过999

截图

image.png

6.2.3 显示千分位

数字过长时,不便于查看,可开启显示千分位。

image.png

image.png

7. 小数

小数输入框,常用于输入金额、单价等,会出现小数的数值。

7.1 创建字段

小数仅支持创建「浮点型」业务类型的字段,填写规则、内容和模型设计器端创建字段一致。

image.png

7.2 表单属性

7.2.1 通用属性

在表单中,小数可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

7.2.2 最小/大值

设置小数输入框输入内容的最值,输入框会根据设置的最值进行校验。

  • 最大值可设置的范围根据字段填写的长度转换,如设置长度为3,则最大值最大不可以超过999

image.png

7.2.3 保留小数位数

支持设置小数的保留位数,设置后在页面中输入内容时,将进行校验

  • 可设置的保留小数位数不可大于该字段的精度,如字段精度为2,则组件属性中的小数位数最大只能为2;

image.png

image.png

7.2.4 显示千分位

数字过长时,不便于查看,可开启显示千分位。

image.png

8. 下拉单选

从多个选项中下拉选择一个数据,作为数据值。选项可以是关联模型的数据,也可以是数据字典或布尔型开关。

8.1 创建字段

下拉单选支持创建三种业务类型的字段,分别是:多对一、布尔型、数据字典。

image.png

  • 多对一:创建字段时需要选择关联的模型,关联模型的数据将作为下拉选项;
  • 布尔型:下拉选项默认只有是、否;
  • 数据字典:创建字段时需要选择数据字典,其数据字典项将作为下拉选项

8.2 表单属性

8.2.1 通用属性

在表单中,下拉单选可以设置一些通用的属性:标题、占位提示、描述说明、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.pngimage.png

8.2.2 选项类型

可以针对下拉单选的选项进行属性设置,同时,根据字段类型的不同,可以设置的内容也不同。

8.2.2.1 多对一选项

当下拉单选对应的是多对一型字段时,选项类型为“关联模型字段”。可以设置模型中的哪个(些)字段作为选项名称,以及哪些字段可以进行选项搜索。

image.png

  • 选项字段:可以选择关联模型的某个或某些字段。
  • 选择了【创建时间】和【创建人id】作为选项,那么在页面运行下拉选择数据时,创建时间和创建人id的值将会拼接起来作为选项值。如下图
  • 提示:可以在选项字段之间设置常量内容作为间隔,如, - 、 /等

image.png

  • 搜索字段:选项字段中哪些可以作为搜索值,默认会将选中的选项字段都设为搜索字段。
  • 若,将【创建时间】、【创建人id】都选中作为搜索字段,则在选择框中输入“01”时,创建时间或创建人id的值中包含“01”的都将作为搜索结果展示。
  • 若,只将【创建时间】选中作为搜索字段,则在选择框中输入“01”时,仅创建时间的值中包含“01”的将作为搜索结果展示。

8.2.2.2 布尔型选项

当下拉单选对应的是布尔型字段时,选项类型为“布尔型”。选项默认只有“是”、“否”,可以设置选项的排序、选项的默认值、选项是否可见。

image.png

-选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。效果如下图

image.png

image.png

-设置默认值:点击选项前的单选框,则这个选项将作为下拉单选的默认值。

image.png

-设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。

image.png

image.png

8.2.2.3 数据字典选项

当下拉单选对应的是数据字典字段时,选项类型为“数据字典”。选项会展示选择的数据字典中的所有字典项,可以设置选项的排序、选项的默认值、选项是否可见。(属性效果和布尔型选项一致)

image.png

  • 选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。
  • 设置默认值:点击选项前的单选框,则这个选项将作为下拉单选的默认值。
  • 设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。默认所有字典项都可见。

8.2.3 显示清除按钮

若开启了清除按钮,则在选择框有内容时,点击清除按钮一键清除已有内容

image.pngimage.png

9. 下拉多选

从多个选项中下拉选择多个数据,作为数据值。选项可以是关联模型的数据,也可以是数据字典。

9.1 创建字段

下拉多选支持创建三种业务类型的字段,分别是:多对多、一对多、数据字典。

image.png

  • 多对多:创建字段时需要选择关联的模型,关联模型的数据将作为下拉选项;
  • 一对多:创建字段时需要选择关联的模型,关联模型的数据将作为下拉选项;
  • 数据字典:创建字段时需要选择数据字典,其数据字典项将作为下拉选项

9.2 表单属性

9.2.1 通用属性

在表单中,下拉多选可以设置一些通用的属性:标题、占位提示、描述说明、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

9.2.2 选项类型

可以针对下拉多选的选项进行属性设置,同时,根据字段类型的不同,可以设置的内容也不同。

9.2.2.1 多对多、一对多选项

当下拉多选对应的是一对多型字段时,选项类型为“关联模型字段”。可以设置模型中的哪个(些)字段作为选项名称,以及哪些字段可以进行选项搜索。(和关联模型字段型的下拉单选一致)

image.png

  • 选项字段:可以选择关联模型的某个或某些字段。
  • 选择了【创建时间】和【创建人id】作为选项,那么在页面运行下拉选择数据时,创建时间和创建人id的值将会拼接起来作为选项值。如下图
  • 提示:可以在选项字段之间设置常量内容作为间隔,如, - 、 /等

image.png

  • 搜索字段:选项字段中哪些可以作为搜索值,默认会将选中的选项字段都设为搜索字段。
  • 若,将【创建时间】、【创建人id】都选中作为搜索字段,则在选择框中输入“01”时,创建时间或创建人id的值中包含“01”的都将作为搜索结果展示。
  • 若,只将【创建时间】选中作为搜索字段,则在选择框中输入“01”时,仅创建时间的值中包含“01”的将作为搜索结果展示。

9.2.2.2 数据字典选项

当下拉多选对应的是数据字典字段时,选项类型为“数据字典”。选项会展示选择的数据字典中的所有字典项,可以设置选项的排序、选项的默认值、选项是否可见。

image.png

  • 选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。
  • 设置默认值:点击选项前的复选框,则这个选项将作为下拉单选的默认值。
  • 设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。

9.2.3 显示清除按钮

若开启了清除按钮,则在选择框有内容时,点击清除按钮一键清除已有内容

10. 开关

常用于只有是否两种对立选项的选择。

10.1 创建字段

直接通过开关组件设计页面需要先填写字段信息以创建一个字段业务类型为「布尔型」的模型字段后才可以设置属性。

image.png

10.2 表单属性

在表单中,开关可以设置一些通用的属性:标题、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

11. 单选框

常用于在直接展示的选现中单选一个值,例如选择性别。

11.1 创建字段

单选框支持创建两种业务类型的字段,分别是:布尔型、数据字典。

image.png

  • 布尔型:选项默认只有是、否;
  • 数据字典:创建字段时需要选择数据字典,其数据字典项将作为选项

11.2 表单属性

11.2.1 通用属性

在表单中,单选框可以设置一些通用的属性:标题、描述说明、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

11.2.2 选项排列方式

支持设置选项的排列方式,横向或纵向。

image.png

11.2.3 选项类型

11.2.3.1 数据字典选项

当单选框对应的是数据字典字段时,选项类型为“数据字典”。选项会展示选择的数据字典中的所有字典项,可以设置选项的排序、选项的默认值、选项是否可见。

image.png

  • 选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。
  • 设置默认值:点击选项前的单选框,则这个选项将作为单选框的默认值。
  • 设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。默认所有字典项都可见。

11.2.3.2 布尔型选项

当单选框对应的是数据字典字段时,选项类型为“数据字典”。选项会展示选择的数据字典中的所有字典项,可以设置选项的排序、选项的默认值、选项是否可见。

  • 选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。
  • 设置默认值:点击选项前的单选框,则这个选项将作为单选框的默认值。
  • 设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。默认所有字典项都可见。

12. 复选框

常用于在直接展示的选现中多选一个值,例如选择爱好、选择课程等。

12.1 创建字段

直接通过复选框组件设计页面需要先填写字段信息以创建一个字段业务类型为「数据字典」的模型字段后才可以设置属性。

image.png

12.2 表单属性

12.2.1 通用属性

在表单中,复选框可以设置一些通用的属性:标题、描述说明、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

12.2.2 选项排列方式

支持设置选项的排列方式,横向或纵向。

12.2.3 选项类型

12.2.3.1 数据字典选项

当复选框对应的是数据字典字段时,选项类型为“数据字典”。选项会展示选择的数据字典中的所有字典项,可以设置选项的排序、选项的默认值、选项是否可见。

image.png

  • 选项排序:选中选项行并直接拖动选项,即可变化上下位置,属性中的选项顺序将作为运行页面的选项顺序。
  • 设置默认值:点击选项前的单选框,则这个选项将作为单选框的默认值。
  • 设置可见:在选项的右侧,点击隐藏/可见图标,将控制该选项在运行时是否可以展示。默认所有字典项都可见。

13. 富文本编辑器

富文本编辑器,是一种可内嵌于浏览器,所见即所得的文本编辑器,类似于Office Word 的编辑功能,常应用于篇幅较长的说明性文字,支持改变字体样式、插入图片等。

13.1 创建字段

直接通过富文本编辑器组件设计页面需要先填写字段信息以创建一个字段业务类型为「富文本」的模型字段后才可以设置属性

  • 填写信息如下,所有信息保存后再次查看均不可编辑

image.png

13.2 表单属性

在表单中,富文本编辑器可以设置一些通用的属性:标题、占位提示、描述说明、只读、隐藏、必填、标题排列方式、宽度。

image.png

13.3 表单样式

在运行页面,表单中的富文本编辑器如下图。

编辑器中具有丰富的功能:

  • 支持设置层级标题
  • 支持设置文字样式(加粗、字号、字体、斜体、下划线、删除线等等)
  • 支持设置段落缩进和行高
  • 支持插入序列、待办事项等
  • 支持插入表情、图片、表格、代码块、分割线等
  • 编辑时支持撤回、恢复、全屏编辑

image.png

13.4 表格属性

在表格中,富文本编辑器仅支持自定义标题属性。

image.png

13.5 表格样式

在运行页面,表格中的富文本对应字段数据用相应链接展示,若有,则可存在“查看”链接,点击查看,通过弹框查看富文本内容

image.png

13.6 详情属性

在详情视图中,仅支持自定义标题、宽度属性。

image.png

14. 年份

年份组件用于选择年份,常用于选择出身年份、一项计划的年份等。

image.png

14.1 创建字段

年份仅支持创建「年份」业务类型的字段,填写规则、内容和模型设计器端创建字段一致。

image.png

14.2 表单属性

在表单中,年份可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

15. 日期

常用于选择颗粒度到日期的Date类型字段,例如出生日期、入职日期、入驻日期等。

15.1 创建字段

直接通过日期组件设计页面需要先填写字段信息以创建一个字段业务类型为「日期」的模型字段后才可以设置属性。

image.png

15.2 表单属性

15.2.1 通用属性

在表单中,日期可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

15.2.2 日期格式

有9种日期格式可供选择。

image.png

16. 日期时间

常用于选择颗粒度到时间的DateTime类型的字段,例如下单时间、发货时间、审批时间等。

16.1 创建字段

直接通过日期时间组件设计页面需要先填写字段信息以创建一个字段业务类型为「日期时间」的模型字段后才可以设置属性。

image.png

16.2 表单属性

16.2.1 通用属性

在表单中,日期时间可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

16.2.2 日期格式

有9种日期格式可供选择。

image.png

16.2.3 时间格式

有4种时间格式可供选择。

image.png

17. 时间

常用于选择仅时间无日期的Time类型的字段,如设置规章中的上班时间、日志的提交时间等。

17.1 创建字段

直接通过时间组件设计页面需要先填写字段信息以创建一个字段业务类型为「时间」的模型字段后才可以设置属性。

image.png

17.2 表单属性

17.2.1 通用属性

在表单中,时间可以设置一些通用的属性:标题、占位提示、描述说明、默认值、只读、隐藏、禁用、必填、标题排列方式、宽度。

image.png

17.2.1 时间格式

有4种时间格式可供选择。

image.png

18. 颜色选择器

颜色选择器,应用于自定义颜色,如设置标签的颜色、设置产品的颜色属性、主题定制时选择色彩等。

18.1 创建字段

颜色选择器和单行文本这两个组件的样式不同,作用也不同,一个用于选择颜色,一个用于输入内容,但实质上所生成的数据都用文本来存储,所以通过颜色选择器生成字段时,仅支持对应生成「文本」类型字段。

image.png

18.2 表单属性

在表单中,颜色选择器可以设置一些通用的属性:标题、描述说明、默认值、只读、隐藏、必填、标题排列方式、宽度。

image.png

18.3 表单样式

在运行页面,表单中的颜色选择器由色号显示框+色号选择框组成,色号显示框无法编辑,由选择的颜色自动带出对应色号;点击色号选择框可选择颜色。

色号选择有三种方式

1在颜色选择区直接点击颜色;

2颜色选择器下方快捷选择系统提供的常用颜色;

3输入框中直接输入标准格式色号,输入后回车,定位到对应颜色。

image.png

18.4 表格属性

在表格中,颜色选择器仅支持自定义标题属性。

image.png

18.5 表格样式

在运行页面,表格中的颜色选择器对应字段数据用相应色块展示。

image.png

18.6 详情属性

在详情视图中,仅支持自定义标题、宽度属性。

image.png

19. 图表

可以选择数据可视化设计器中允许被引用的图表,展示在页面中。

19.1 选择报表

下拉中可选择允许被引用的图表。image.png

image.png

20. 报表

可以选择数据可视化设计器中允许被引用的报表,展示在页面中。

20.1 选择报表

下拉中可选择允许被引用的报表。

image.png

image.png

Oinone社区 作者:史, 昂原创文章,如若转载,请注明出处:https://doc.oinone.top/oio4/9407.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
史, 昂的头像史, 昂数式管理员
上一篇 2024年6月20日
下一篇 2024年6月20日

相关推荐

  • 5.6 商业支撑之商品域

    一、基础介绍 当业务在线化后,用于内部管理的产品主数据,叠加一堆销售属性变成了商品被推倒了前台,成为导购链路中最最重要的信息载体。看似最基础和最简单的商品模块也有很多门道。主要集中在以下几个方面: 商品的属性如何管理、呈现、参与导购(类目、搜索的过滤条件) 如何解决固定不变的内部管理需求与基于销售特性长期变化的运营需求之间的矛盾 在多渠道情况渠道商品,如何映射到实际sku进行履约 二、模型介绍 图5-6-1 模型介绍 类目属性,解决“商品的属性如何管理、呈现、参与导购(类目、搜索的过滤条件)” 前后台类目设计,解决“如何解决固定不变的内部管理需求与基于销售特性长期变化的运营需求之间的矛盾” 销售Sku和库存Sku设计,解决“在多渠道情况渠道商品,如何映射到实际sku进行履约” 要把这些问题搞清楚,得先把名词统一下: 领域 名称 oinone的定义 说明 举例 平台运营视角 Spu Product –>Spu2.1.9 –> 3.0.0 SPU(Standard Product Unit):标准化产品单元。SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性 iPhone X可以确定一个产品 后台类目 后台类目(Category) 商品分类分级管理,以及规范该类目下公共属性可以分为普通属性、销售属性 比如类目:3c数码/手机销售属性:内存大小、颜色等普通属性:分辨率 前台类目 前台类目(FrontCategory) 平台导购类目 通过前台类目关联后台类目或后台类目属性,用于满足运营需求 大体上SPU处于最上层、Item属于下一级,而SKU属于最低一层。SPU是平台层面,Item是商家层面,SKU是商家的Item确定销售属性SPU非必须,在平台类交易中,平台方为了规范商家发布商品信息,进行统一运营时需要 商家销售视角 Item 渠道商品(Item) 简单来说是:SPU加上归属商家、以及商家自有的价格与描述 商家A的iPhone X Sku 销售Sku(SaleSku) SKU=Stock Keeping Unit(库存保有单位)。是对每一个产品和服务的唯一标示符,该系统的使用SKU的值根于数据管理,使公司能够跟踪系统,如仓库和零售商店或产品的库存情况。 iPhone X 64G 银色 则是一个SKU。 店铺类目 ShopCategory 商家店铺导购类目 在平台类电商,商家都会有自己独立的店铺主页,商家类目跟前台类目作用类似,只是局限影响范围为商家店铺内 销售SKU中会有一个InvSkuCode来关联InventorySku,比如:品牌上在不同渠道(淘宝、京东、自建电商)中会有不同的销售SKU,在从渠道同步销售SKU会根据外部code 商家管理视角 产品或库存Sku InventorySku 跟销售领域的sku的定义类似,但销售领域是为了规范购买行为,这里规范企业内部管理。 iPhone X 64G 银色 组合Sku InventorySkuComposition 空调有内外机组合而成,这就是一个组合sku 产品分类 ProductKind 企业内部管理划分 商品系列 ItemSeries 指互相关联或相似的产品,是按照一定的分类标准对企业生产经营的全部产品进行划分的结果。一个产品系列内往往包括多个产品项目。产品系列的划分标准有产品功能、消费上的连带性、面向的顾客群、分销渠道、价格范围等 存货类别 StorageKind 为了反映存货的组成内容,正确计算产品的生产成本以及销售成本,会计上必须对存货进行科学地分类,按存货的不同类别进行核算 表5-6-1 各领域名称说明

    2024年5月23日
    1.5K00
  • 1.4 Oinone对软件特性的思考

    我在个人的微信公众号上《浅谈企业IT架构的十年困局》一文中写了“企业或者软件公司在工程领域都关注哪些特征,而这些特征又应与具体研发人员的个体能力无关”的相关内容。收到很多业内人士的留言,也引起了很多同行的共鸣,所以今天在这里也打算针对这个话题,跟大家再做个深入的探讨。 一、首先为什么强调要跟研发个体能力无关 我们先来看一个故事: 轮扁是春秋时期齐国的木工,齐桓公召其入宫打造物件。有一天,齐桓公在堂上看书,轮扁在堂下用椎、凿等工具做车轮。 齐桓公看书看到得意处,不由得读出声来。轮扁听到读书声,想了想,放下手里的工具,走上堂来,在齐桓公面前几步远的地方停下,恭恭敬敬地说:“请恕臣斗胆问一下,君王读的是什么书?”齐桓公没想到这个老木匠会走上堂来,倒有点意外。不过看在他年纪大的份上,倒也不去斥责他,就回答说:“寡人读的是圣人写的书。”轮扁问:“圣人还在吗?”齐桓公说:“已经死了。”轮扁说:“这样看起来,君王所读的,不过是古人的糟粕而已!”齐桓公勃然大怒,说:“寡人读书,你一个做车轮的怎么敢议论?你说,这书上怎么会是古人的糟粕?说出道理便罢,说不出道理便难逃一死!” 轮扁不慌不忙地说:“臣是根据臣所从事的活计而明白这个道理的。砍削轮子,榫头做得宽了则松滑而不牢固,做得太紧就必然涩滞而安不进去,臣制作的榫头松紧适宜,是因为心里怎样想的手便怎样去做。然而尽管所需要的分寸度数心里都明白,要把它用言辞表达出来却实在不可能,全靠自己手与心的配合。所以,臣无法将其中的奥秘传授给儿子,臣的儿子也无法从臣这里学到其中的奥秘。因此,臣如今七十多岁了,还只好亲手去干制作轮子的活。这样看来,古人之道的精华都已随着古人死去而无法传世,那么君王所读的,不就是古人的糟粕了吗?” 这就是著名的成语故事——轮扁斫轮,出自《庄子·天道》。庄子通过轮扁的言论,深刻地揭示了高妙之技的难以言传。 而当我们转换视角,在企业数字化转型领域,无论是软件公司还是甲方IT团队,核心上是应用级开发需求,更多的精力应该放在业务场景理解、需求把控以及业务系统实现上。但往往在一个项目进入研发之前,会花很大力气在技术架构设计、技术栈选型、通用能力对接、扩展点设计这些跟业务场景无关的技术事项上,且需要高级别的架构师来主导。大部分情况下,架构师会选开源框架来实现,慢慢沉淀为企业的研发标准体系,所以底层架构的能力往往依赖架构师个人能力。不禁发现他们与轮扁有着异曲同工之处。架构师所积累的个人经验和技术能力,往往难以通过简单的手把手教学、技术评审会完全传递给团队中的其他成员。即使有所传授,其效率也可能仅达到50%,并且随着团队成员数量的增加,这种效率还可能持续递减。因此,我们需要更多地依赖于技术手段,将架构师的经验和能力固化下来,形成一套可复制、可推广的标准技术产品。这样,每个团队成员都能够通过学习和运用这些技术,达到至少70%的传递效率,从而确保团队整体技术水平的稳步提升。这也正是开篇所强调的,企业或软件公司在工程领域所关注的特征,应当与具体研发人员的个体能力相剥离,而更多地依赖于标准化、系统化的技术手段,来确保团队整体的高效运作。 二、软件公司在工程化领域都关注哪些特征 接下来,我将从技术角度深入剖析设计初衷和技术实现原理,以展现技术公司应当“被标准化的特征”究竟长什么样。 先做个名称解释,下文中涉及“标品”、“升级”、“扩展逻辑”,这是站在软件公司角度出发描述的,如果是企业内部可以把标品理解为特定业务应用平台,升级则是业务应用平台的正常规划迭代,扩展逻辑理解为脱离平台发展的临时性需求。 1. 可逆计算 可逆计算,在应用上的特征图 场景:调查发现企业研发至少有40%的精力在跟各条业务线的团队在评审项目需求,判断需求是否合理。而且业务线对需求完善时间要求紧,每天盯着研发进度,经常问“这个需求什么时候支持,我们等着用”。导致产研部门的研发抱怨产品节奏乱,无法按照自身节奏进行迭代,被项目推着走,没有时间思考,人手不足,加班多,工作压力大…… 价值:该特性很好的规避了研发因为时间紧迫,写的一些临时代码腐蚀核心业务系统。它需要做到不论从数据模型、业务逻辑、交互展示都能有扩展能力,并且这些扩展能力与个体研发无关才行。它同时所描述的也是一个具备差量计算能力的软件架构模式,它允许用户通过添加或移除扩展包来定制标准应用,同时保持应用的可逆性和独立性。这种架构模式的核心优势在于其灵活性和可维护性,使得应用的定制和恢复变得简单而高效。 技术原理:它所描述的是一个基于元数据驱动和差量计算的软件架构模式,它允许用户通过添加或移除扩展包来定制标准应用,同时保持应用的可逆性和独立性。这种架构模式的核心优势在于其灵活性和可维护性,通过元数据来驱动应用的构建和变更,使得应用的定制和恢复变得简单而高效 在这种架构中,元数据起到了至关重要的作用。元数据是关于数据的数据,它描述了数据的结构、属性、关系等信息。在软件应用中,元数据可以用来描述应用的组件、功能、配置等信息。通过元数据驱动应用可以根据元数据的描述来动态地构建和配置自身的功能和结构 差量计算则是实现应用可逆性的关键。当添加或移除扩展包时,系统会根据扩展包中的元数据与标准应用的元数据进行差量计算,确定需要添加或移除的功能和组件。这种差量计算可以确保在添加扩展包后,应用能够保持原有的功能和稳定性,同时新增扩展包带来的新功能,而在去除扩展包时,应用能够恢复到原始的标准状态,不会留下任何冗余或冲突的代码和配置。 为了实现这种架构模式,元数据注册表和分布式部署能力是非常重要的。元数据注册表需要能够存储和管理大量的元数据信息,并且提供高效的查询和更新机制。分布式部署能力则能够确保应用在不同的环境中都能够稳定运行,并且能够快速地响应扩展包的添加和移除操作,即差量(扩展包》可独立存在又相互作用。 总的来说,这种基于元数据驱动和差量计算的软件架构模式为应用的定制和恢复提供了强大的支持,使得应用能够根据不同的需求进行灵活的定制和扩展。同时,它也提高了应用的可维护性和可靠性,降低了开发和维护的成本 2. 协同演进 协同演进,在应用上的特征图 场景:它所描述的场景是一个复杂的软件升级过程,其中涉及了标准应用的升级以及用户个性化扩展的保留。通过面向对象的方式扩展标准应用的功能,可以在升级过程中保持用户自定义逻辑的完整性,并同时集成新版本中的新特性。 价值:很多号称产品型的软件公司,在交付客户项目的时候,都是从标品复制一个分支,然后客户个性化直接在这个分支上改。这种模式会带来两个问题: 是当客户数量变大,每个客户的版本都不一致,维护成本很高; 是当标品升级带来的新特性无法复制给客户,导致客户满意度下降甚至流失。协同演进就是要解决这个问题。 技术原理:它需要在第一个差量计算的特性基础上才能得以完成,同时在这种升级能力中,元数据驱动和模型驱动是关键所在。元数据驱动确保了应用能够理解和处理不同版本之间的变化,包括功能的增删改以及结构的调整。模型驱动则提供了描述和管理应用结构、组件和行为的能力,它不仅能够描述模型间的关系,还能够支持面向对象的特性,如继承、重写和重载等。 具体来说,当标准应用从V1升级到V2时,元数据驱动机制会首先识别和分析两个版本之间的差异。对于用户应用1中已经扩展的A功能,由于采用了面向对象的方式进行扩展,因此在升级过程中,A+逻辑作为A功能的重写或重载版本会被保留下来。同时,V2版本中新增的B功能也会被集成到用户应用1中,因为它是作为标准应用的新特性而存在的。 这种升级能力的实现依赖于一个强大的元数据注册表和模型管理能力。元数据注册表需要能够存储和管理不同版本应用的元数据信息,包括功能、组件、结构等。模型管理能力则需要能够解析和应用这些元数据,以生成正确的应用结构和行为。同时,还需要一套高效的升级机制来确保升级过程的平滑和可靠。 总的来说,通过元数据驱动和模型驱动的结合,可以实现标准应用的平滑升级,同时保留用户个性化扩展的完整性。这种能力对于提高软件的可维护性、可扩展性和用户满意度具有重要意义 3. 公民研发和专业研发共同参与 专业研发与公民研发共同参与,在应用上的特征图 场景:它所描述是在应用开发的整个生命周期中,专业研发专注在标品的长期规划与迭代,当出现临时性的需求或者应急性的辅助场景则由非专业人士进行即公民研发方式进行。这种模式下,专业研发可以按照规划有节奏的迭代产品,做更高级的事情,不至于忙于应对临时性的事务没有深度思考,更加避免了因为临时代码堆积导致产品从内部腐化。同时利用独立的扩展逻辑包和无代码方式解决了业务的紧迫感,毕竟业务需求的合理性是很难争论出高低的。它在前两个特性基础上让研发效能进一步得到释放。 价值:它的本质是,在专业研发在以低代码的方式下实现应用,并通过无代码的方式,快速扩展逻辑功能和创建辅助性应用。整个过程无缝衔接,我们给他取个名字专业名称叫:“低无一体”。它大大降低了技术门槛,使得专业和非专业的研发人员都能参与到应用扩展和定制中来。此外,它还提高了业务响应能力,使得企业能够更快速地适应市场变化和客户需求。 技术原理:它的核心要求就是元数据在线,元数据在线能力是指能够实时地、在线地管理和操作元数据,这种能力为企业或组织带来了诸多优势。通过无 代码的方式,用户可以更加灵活地进行应用的个性化扩展,以应对各种应急性需求,从而显著提升业务的响应能力。此外,元数据在线管理还确保核心应用、核心应用扩展以及辅助应用都是基于一套统一的技术体系构建的,这为不同角色的用户(包括专业和非专业的研发人员)提供了多样化的参与方式。同时,元数据在线管理需要符合开闭原则,这确保了系统的稳定性和可扩展性,使得新的功能或需求可以通过添加新的元数据或配置来实现,而非修改现有系统。 这种低代码开发与无代码一体化的优势在于,它大大降低了技术门槛,使得专业和非专业的研发人员都能参与到应用扩展和定制中来。此外,它还提高了业务响应能力,使得企业能够更快速地适应市场变化和客户需求。 总之,从用户应用到业务实施的过程通过元数据在线得到了优化和升级。低代码开发与无代码一体化的优势使得整个过程更加高效、灵活和易于维护,为企业带来了显著的价值和竞争优势。 4. 基于平台级别的AOP能力出现反向集成 反向集成,在应用上的特征图 场景:平台级别的AOP(面向切面编程)能力允许开发者在应用程序的特定点“切入”额外的逻辑,而无需修改原有的业务代码。这种能力特别适用于横向追加平台逻辑,即在多个不同服务或功能点插入通用的处理逻辑,如日志记录、权限检查、审计、多租户、多语言等。过往在微服务架构中,这些能力都需要业务系统各自主动去对接,有了平台级别的AOP能力,则这些通用能力可以反向为所有业务系统增加特性能力,无需业务系统研发感知。这种现象我们称之为“反向集成”,能让业务研发更加专注在业务研发本身,不需要关心与业务无关的通用功能上。 价值:AOP的核心思想是将这些横切关注点(cross-cutting concerns)从业务逻辑中分离出来,使得业务代码更加清晰和专注于其核心功能。在平台级别的AOP中,标准化协议是实现这一能力的关键。平台具备统一的入口和扩展能力是非常重要的,因为它允许开发者在不修改现有代码的情况下添加新功能或修改现有功能的行为。这种能力对于快速响应业务需求变化、减少维护成本和提高代码质量都是非常有益的。 技术原理:标准化协议确保了不同组件之间的通信与语义是统一的,从而使得AOP能够更容易地实施。例如: a前后端通信要标准协议(与端无关): 这意味着无论前端是使用Web、移动应用还是其他类型的客户端,后端服务都应该能够以一种标准的方式与之通信。 bORM层要有标准协议(与数据库无关): 对象关系映射 (ORM)层应该提供一个标准的接口来与数据库进行交互,这样无论底层使用哪种数据库(如MySQL、PostgreSQL、Oracle等),上层的业务逻辑都不需要改变。 cRPC需要标准协议(与Dubbo和Spring Cloud无关): 远程过程调用 (RPC)应该遵循一种标准协议,以便不同的服务可以无缝地进行通信,而不受特定框架 (如Dubbo、Spring Cloud等)的限制。 d所有逻辑调用统一fun调用: 这意味着平台上的所有功能调用都应该通过一个统一的入口点(如一个函数或方法)进行,这样AOP就可以在这个入口点切入额外的逻辑。 总的来说,平台级别的AOP能力通过标准化协议和统一的调用入口,为开发者提供了一种强大而灵活的方式来管理和扩展平台的逻辑功能。 5. 应用研发与部署无关 应用研发与部署无关,在应用上的特征图 场景:现在研发在选择部署方式的时候往往会选择分布式部署,或者你的客户招标需求里就写着“微服务”,构建一个微服务系统并不是一件容易的事,构建的复杂度远远超过单体系统,开发人员需要付出一定的学习成本去掌握更多的架构知识和框架知识。服务与服务之间通过HTTP协议或者消息传递机制通信,开发者需要选出最佳的通信机制,并解决网络服务较差时带来的风险。另外服务与服务之间相互依赖,如果修改某一个服务,会对另一个服务产生影响,如果掌控不好。会产生不必要的麻烦。由于服务的依赖性,测试也会变得很复杂,比如修改一个比较基础的服务,可能需要重启所有的服务才能完成测试。前段时间有篇很火的文章,《从微服务转为单体架构、成本降低 90%!》,无论是选择何种部署方式,我认为这都应该跟应用研发无关。 价值:应用研发与部署无关的理念确实为现代软件架构带来了显著的优势,它使得研发团队能够专注于业务逻辑和功能实现,而无需担心具体的部署细节。这种分离带来了灵活性、效率以及成本效益的多重提升。应该采用一种同时支持分布式和单体部署、且可以自由切换的架构,我们称之为可分可合。 首先,可分可合的能力使得系统能够灵活应对业务量的变化。在业务量小的时候,可以采用单体部署的方式,简化部署流程,降低初期成本。随着业务量的增长,系统可以平滑地过渡到分布式部署,通过拆分微服务来提高系统的处理能力和扩展性。这种灵活性确保了系统既能满足未来发展的需要,又能兼顾当下的成本效益。 其次,应用级别扩容的能力使得系统性能不再受限。通过增加微服务实例或调整资源配置,系统可以按需进行扩容,从而确保在业务高峰期或突发流量下仍能保持稳定的性能。这种按需扩容的方式不仅提高了系统的可靠性,还降低了运维成本。 技术原理:核心在于逻辑调用的统一执行和智能判断。通过如funEngine这一统一调用引擎,系统能够智能地选择最适合当前业务场景和性能需求的fun调用方式。无论是同步调用、异步调用还是基于消息队列的调用方式,funEngine都能进行智能决策,确保调用的高效性和可靠性。这种统一调用的方式简化了开发过程,降低了开发难度,同时也提高了系统的可维护性和可扩展性。 此外如果作为低代码或者其他研发平台来说。被集成特性也是实现该特性的关键所在。它提供了一套标准化的接口和协议,使得其他系统或应用能够轻松地与其进行集成。这种平台框架化的特性能够作为一个统一的、可扩展的框架来支撑整个系统的运行。 综上所述,具备可分可合的能力、应用级别扩容以及逻辑调用的统一执行和被集成特性,共同构成了应用研发与部署无关这一核心特性。该特性使得软件系统能够灵活地应对业务变化,实现高效、可扩展和可维护的运行,从而满足客户的长期发展需求并兼顾当下的成本效益。

    2024年5月23日
    1.7K10
  • 4.1.2 模块之启动指令

    针对不同启动指令的组合可以满足不同场景需求,下面列举了几个常规组合方式,小伙伴们务必把这几种模式都尝试一遍,会更有体感 本节为小伙伴讲解oinone模块的几种启动方式,它是为能灵活地应对企业市场的不同场景需求,为op(本地化部署)、saas和研发提供个性化支撑。也为oinone独特性之单体与分布式的灵活切换提供基础支撑 一、部署参数 参数 名称 默认值 说明 -Plifecycle 生命周期部署指令 RELOAD 可选项:无/INSTALL/PACKAGE/RELOAD/DDL安装-install为AUTO;upgrade为FORCE打包-install为AUTO;upgrade为FORCE;profile为PACKAGE重启-install、upgrade、profile为READONLY打印变更DDL-install为AUTO;upgrade为FORCE;profile为DDL 表4-1-2-1 部署参数 如果在启动命令中配置了部署参数,可不再设置服务参数和可选项参数。下图为在启动命令中添加部署参数的示例。 图4-1-2-1 在启动命令中添加部署参数的示例 二、使用场景 针对不同启动指令的组合可以满足不同场景需求,下面列举了几个常规组合方式,小伙伴们务必把这几种模式都尝试一遍,会更有体感。 场景一:DDL(1)+RELOAD(N)应对专有DBA 因为很多公司数据库是由专门的DBA来管理的,不允许应用直接变更数据库相关配置、表结构、初始化数据。而oinone是基于元数据驱动的,任何模型、行为的变化都会自动转化成对物理存储的改变与元数据变化。 oinone为了适用企业op场景,特别增加了DDL模式。把发布上线分为两个步骤。 一:用DDL模式把涉及到数据库的变更与元数据初始化的脚本进行输出,交由客户公司DBA审批,并执行 二:用RELOAD模式,进行正常的应用重启工作,不进行安装、升级、以及数据库物理变革等操作。 #应用启动关闭自动DDL配置 pamirs.boot.profile: CUSTOMIZE pamirs.boot.options.rebuildTable: false pamirs.persistence.global.auto-create-database: false pamirs.persistence.global.auto-create-table: false 图4-1-2-2 应用启动关闭自动DDL模式 场景二:PACKAGE(1)+RELOAD(N)应对提升多机器实例效率 在机器规模相对大的场景中我们会碰到以下问题: 元数据差量计算、数据库变更、元数据变化保存都非常费时,如果每台机器都来一遍是非常费时费力的 分布式下多机器如果并发进行INSTALL,会导致数据库修改表结构、元数据变化保存锁死 所以我们可以选择一台机器用PACKAGE,其他机器采用RELOAD模式,做到合理规避问题,提升应用发布效率 场景三:INSTALL应对开发模式 研发在本地开发模式下INSTALL是最有效率的,把所需依赖模块一把启动和调试。 上线如果要用INSTALL需要注意,要逐台进行。当然也可以改进成INSTALL(1)+RELOAD(N)模式 三、启动命令解读 查看启动命令 可以在启动日志中查看当前所用启动命令。 图4-1-2-3 在启动日志中查看当前所用启动命令 生命周期管理-Plifecycle 除了通过启动YAML中pamirs.boot属性来设置启动参数,你还可以在应用启动命令中使用-Plifecycle参数来快捷控制模块生命周期的管理方式。该参数的可选项为RELOAD、INSTALL、CUSTOM_INSTALL、PACKAGE、DDL。 java -jar <your jar name>.jar -Plifecycle=RELOAD 启动命令优先级高于YAML中pamirs.boot属性中的install、upgrade和profile属性。如果不使用-Plifecycle参数,则使用YAML中pamirs.boot属性中的install、upgrade和profile属性配置。若YAML中未配置,则采用默认值。 启动配置项 默认值 RELOAD INSTALL CUSTOM_INSTALL PACKAGE DDL install AUTO READONLY AUTO AUTO AUTO AUTO upgrade AUTO READONLY FORCE FORCE FORCE FORCE profile CUSTOMIZE READONLY AUTO CUSTOMIZE PACKAGE DDL 表4-1-2-2 Plifecycle可选项与启动项对应表 profile属性请参考4.1.1【服务启动可选项】一文。只有pamirs.boot.profile=CUSTOMIZE时,在pamirs.boot.options中自定义的可选项才生效。 自动建表-PbuildTable java -jar <your jar name>.jar -PbuildTable=NEVER PbuildTable参数用于设置自动构建表结构的方式。如果不使用该参数,则options属性的默认值请参考4.1.1【服务启动可选项】一文。-PbuildTable参数可选项为: NEVER – 不自动构建表结构,会将pamirs.boot.options中的diffTable和rebuildTable属性设置为false EXTEND – 增量构建表结构,会将pamirs.boot.options中的diffTable属性设置为false,rebuildTable属性设置为true DIFF – 差量构建表结构,会将pamirs.boot.options中的diffTable和rebuildTable属性设置为true 模块在线 -PmoduleOnline java -jar <your jar name>.jar -PmoduleOnline=CHECK PmoduleOnline参数用于设置模块在线的方式。如果不使用该参数,则profile属性的默认值请参考4.1.1【服务启动可选项】一文。-PmoduleOnline参数可选项为: NEVER – 不读取存储在数据库中的模块信息,会将pamirs.boot.options中的reloadModule和checkModule属性设置为false READ – 读取存储在数据库中的模块信息,会将pamirs.boot.options中的checkModule属性设置为false,reloadModule属性设置为true CHECK – 读取存储在数据库中的模块信息并校验依赖模块是否已安装,会将pamirs.boot.options中的reloadModule和checkModule属性设置为true 元数据在线-PmetaOnline java -jar <your jar name>.jar -PmetaOnline=MODULE PmetaOnline参数用于设置元数据在线的方式,如果不使用该参数,则profile属性的默认值请参考4.1.1【服务启动可选项】一文。-PmetaOnline参数可选项为: NEVER – 不持久化元数据,会将pamirs.boot.options中的updateModule、reloadMeta和updateMeta属性设置为false MODULE – 只注册模块信息,会将pamirs.boot.options中的updateModule属性设置为true,reloadMeta和updateMeta属性设置为false ALL – 注册持久化所有元数据,会将pamirs.boot.options中的updateModule、reloadMeta和updateMeta属性设置为true 开放远程服务-PenableRpc PenableRpc参数用于设置是否开启远程服务。如果不使用该参数,则profile属性的默认值请参考4.1.1【服务启动可选项】一文。-PenableRpc参数可选项为true和false。该参数会将参数值设置到pamirs.boot.options中的publishService属性。 开启API服务-PopenApi PopenApi参数用于设置是否开启HTTP API服务。如果不使用该参数,则profile属性的默认值请参考4.1.1【服务启动可选项】一文。-PopenApi参数可选项为true和false。该参数会将参数值设置到pamirs.boot.options中的rebuildHttpApi属性。 开启字段校验-PcheckField PcheckField参数用于设置是否开启字段校验。-PcheckField参数可选项为true和false。由于通常应用的字段数量非常多,会延长系统启动时长,所以默认不会开启字段校验。 启用数据初始化服务-PinitData PinitData参数用于设置是否开启数据初始化服务。如果不使用该参数,则profile属性的默认值请参考4.1.1【服务启动可选项】一文。-PinitData参数可选项为true和false。该参数会将参数值设置到pamirs.boot.options中的updateData属性。 四、不使用自动构建数据库表功能 Oinone LCDP默认提供框架的所有服务,所以会自动构建数据库表。如果不需要使用Oinone的存储构建服务,可以设置YAML文件中关于自动建表的配置。这样就不会动态构建数据库表,你可以手动搭建数据库表。 通过配置启动YAML中pamirs.boot.options.rebuildTable为false彻底关闭自动建表功能。 pamirs: boot: options: rebuildTable: false 图4-1-2-4 不使用自动构建数据库表功能 也可以按需配置启动YAML中pamirs.persistence配置来关闭部分数据源的自动建表功能。persistence配置既可以针对全局也可以分数据源进行配置。 pamirs: persistence: global: # 是否自动创建数据库的全局配置,默认为true autoCreateDatabase: true # 是否自动创建数据表的全局配置,默认为true autoCreateTable: true <your ds key>: # 是否自动创建数据库的数据源配置,默认为true autoCreateDatabase: true # 是否自动创建数据表的数据源配置,默认为true…

    2024年5月23日
    1.1K00

Leave a Reply

登录后才能评论