沃客福勒软件快速开发平台数据库分成“业务库”和“配置库”两个库。业务库主要用于存储系统运行过 程中产生的业务数据以及和流程相关的数据;而配置库只用于存储用来配置系统功能,以及用于支撑系统 各个模块有效运行的配置数据,包含不同模块的列表配置、表单的配置、帮助系统的配置、各类菜单按钮 的配置等等...
业务库是企业用来存储业务数据的专用数据库,企业需求开发者可以将新模块运行时所需要存储的数 据保留在业务库中,其库名固定为:windowdb,该库默认会存在一些少量的初始业务数据,用于支撑系 统的基本运行,例如:组织机构(branch_com_dept)、用户账号(person_user_staff)、通知消息 (cms_content)、工作流定义(wf_def)、工作流实例(wf_ins)等等...
业务的研发人员在开发新的功能需求时,业务相关的数据需要保存在该空间中,可以自主建表、视图、 触发器、存储过程等一系列数据库对象,用于保存业务数据甚至处理业务逻辑。
序号 | 前缀 | 说明 |
1 | branch_ | 分支数据表,用于存储符合父子关系的数据。 |
2 | cms_ | 负责存储需要公布的展示信息。 |
3 | person | 负责存储描述人的信息,如:客户、员工、联系人,等等... |
4 | user | 登录系统的账号信息。 |
5 | wf_def | 系统工作流的定义数据。 |
6 | wf_ins | 定义好的工作流在运行时的流程实例数据。 |
7 | im_xls_ | 外部文件导入内部系统过程中产生的中间数据。 |
8 | _ | 两个表的关联数据信息。 |
windowdb_conf 负责存储系统展示的页面、表单、提交表单时的操作...等等一系列支撑软件系统本身运行的配置数据。
配置库中的表,例如:003001001_ad、003001001_dd...
以“_ad”结尾的配置表或视图(Action Data):主要负责向数据库中添加数据、当然也可以修改和删除,还包括操作数据库时候的必要的查询,是在表单提交时负责执行要执行的SQL语句。
以“_dd”结尾的配置表或视图(Data Detail):主要负责展示表单页面中的表单项以及页签,其中会有一些JavaScript脚本来控制表单页面元素的展示效果。
以“_dd_pt”结尾的配置表或视图(Data Detail Print):主要负责以某种模版或样式打印或者显示详细数据,例如:采购单、小票...
以“_hp”结尾的配置表或视图(Help):主要负责存储对应模块帮助系统要展示内容。
以“_ld”结尾的配置表或者视图(List Data):主要负责存储对应模块列表页面的表头部分配置数据,包括表头列、表头搜索框、和规定要导出的列。
以“_ld_th”结尾的配置表或视图(List Data Table Header):主要负责存储对应模块列表页面的表头部分配置数据,包括表头列、表头搜索框、和规定要导出的列。
序号 | 表或视图名称后缀 | 说明 |
1 | _ad | 表单提交的时候需要处理的sql动作 (Action Data) |
2 | _dd | 表单数据明细网页(Detail Data) |
3 | _dd_pt | 明细数据打印模版(Detail Data Print) |
4 | _ld | 列表数据(List Data) |
5 | _ld_th | 列表数据的表头(List Data Table Head) |
6 | _hp | 帮助(Help) |
7 | _im | 外部数据导入(Import) |
8 | _ln | 内部数据关联(Link) |
配置表的表名是以模块编号开头的,例如:003007003004,登录后点击任意一个模块,列表页面左上角都会带有一个“问号”按钮,例如:快捷菜单的配置列表页面,点击“问号”按钮之后,弹出帮助系统,帮助系统位于界面右侧侧边栏,不同模块的帮助的标题位置都显示模块编号,如下图所示:
上图右上角显示的模块:003007003004,就是配置快捷菜单的模块编号,配置快捷菜单功能模块所对应的配置库表有:003007003004_ad、003007003004_dd、003007003004_dd_pt、003007003004_hp、003007003004_ld_th等等...只要是以003007003004开头的表,均是该功能模块所对应的配置表。
模版编号在配置库中被标记为“templid”,例如:windowdb_conf.003007003004_dd表对象中就包含templid列,值被标记为1,表示该功能表单的1号模版,提交时,负责处理提交请求的windowdb_conf.003007003004_ad表对象的templid值也要被标记为1,才可以处理提交过来的数据。否则如果两个模版编号不一致,表示不是同一个业务表单。
配置库中默认包含三张引擎默认为BLACKHOLE的表对象,分别是db_log_get_static:用于记录配置库中static_code表对象所提供的资源请求记录,db_log_update_col:用于记录更新行sql,db_log_update_row:用于记录更新列sql,由于MySQL的黑洞引擎是不存储数据的,所以默认不记录日志,若需要记录,只需要将存储引擎修改为:MyISAM即可,反之关闭该日志只需要将相关表引擎修改为BLACKHOLE黑洞引擎即可。
配置库中static_code视图动态地提供调试系统的伪静态资源,目的是方便统一调试js或者网页样式文件。css资源文件在调试页面调用路径为:{basePath}/getResource/{id}/css;javascript脚本资源文件在调试页面调用路径为:{basePath}/getResource/{id}/js;html网页资源文件在调试页面调用的路径为:{basePath}/getResource/{id}/html;以上{basePath}需要更换成项目的基本路径,而{id}需要更换为static_code视图中id的值。Windowdb_conf.static_code视图的字段说明如下表所示:
序 号 | 静态网页资源配置表-配置库视图对象:windowdb_conf.static_code字段说明 | |
字段名 | 说明 | |
1 | id | 主键 |
2 | static_code | 静态资源代码 |
3 | note | 静态资源用途说明 |
配置库中query_list表对象用于存储一个可以被aJax请求调用服务方法,该方法提供一个select查询sql语句,用来查询业务库中的数据,反馈到客户端。同时,还可以在查询之前以及查询之后,分别调用两次写库操作,用来处理同步业务。在javascript aJax代码中请求调用的相对网络路径为:{basePath}/query/{code},同时客户端传入的参数,在sql语句中用占位符的方式可以获取到,具体用法表达式:${参数名}或者’#{参数名}’,windowdb_conf.query_list表的字段说明如下表所示:
序 号 | 动态aJax请求配置表-配置库表对象:windowdb_conf.query_list字段说明 | |
字段名 | 说明 | |
1 | id | 主键 |
2 | code | 动态资源代码(唯一) |
3 | visible | 是否可见(是否生效) |
4 | b_sql | b:befor,在执行查询语句之前执行一条写sql,只能以insert、update、delete开头 |
5 | sql | 查询语句,只能以 select 开头,只返回一行一列数据 |
6 | a_sql | a:after,在执行查询语句之之后执行一条写sql,只能以insert、update、delete开头 |
配置库中checkpoint表对象用于存储一个可以被aJax请求调用服务方法,在javascript aJax代码中请求调用的相对网络路径为:${basePath}/checkpoint/{id},同时客户端传入的参数,在sql语句中用占位符的方式可以获取到,具体用法表达式:${参数名}或者’#{参数名}’,和query_list的区别就是checkpoint不执行写库操作,checkpoint表字段如下表所示:
序 号 | 动态aJax请求配置表-配置库表对象:windowdb_conf.query_list字段说明 | |
字段名 | 说明 | |
1 | id | 主键 |
2 | script | 查询脚本(SQL语句),只能以 select 开头,只返回一行一列数据 |