OFBIZ的DBCheck

[b]1. 遍历entityengine.xml中定义的group,按照group对应的datasource进行检查。

2. 从连接池中获取connection,读取DatabaseMetaData。

3. 打印database详细信息,例如:database信息(DatabaseProductName、DatabaseProductVersion)、驱动信息(driver-name,driver-version)、DB和驱动支持的特性描述(supportsTransactions)。

4. 获取DatabaseMetaData中所有的表(Table)信息,获取表名和表类型。

5. 根据表信息,获取所有的列(Column)信息。

6. 遍历检查实体模型(ModelEntity)。

a) 如果是ModelViewEntity,则跳过,不检查。

b) 如果ModelEntity在数据库中已经存在,则检查列信息,包括列类型、长度、精度、主外键、索引,对于不存在的列,并且entityengine中addMissing为true,则自动添加字段。

c) 如果不存在,并且entityengine中addMissing为true,则自动建表。

7. 对比数据库中的表信息与ModelEntity,如果数据库中已经存在,但ModelEntity未配置,则作出Warning,提示数据库中存在的表名。

8. 对于新增加的表,添加外键索引、添加外键

9. 对于新增加的表,建立自身索引字段的索引。

10. 检查关系表中,所有的relation是否包含外键。[/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值