在maximo中,二次开发一般都在测试环境开发,向正式环境迁移的时候,按标准操作,真的很费用,为比,我看了一下maximo的数据库维护应用,分析了一个,
数据库维护主要有以下几张表
maxobject:用来记录maximo中的对像数据
maxobjectcfg:用来配置maximo中的对像(数据库维护应用)
maxtable:记录maximo中的表数据
maxtablecfg:用来配置maximo表数据库
maxattribute:用来记录object属性数据
maxattributecfg:用来配置object属性数据
MAXRELATIONSHIP:用来记录对像关系
MAXSYSINDEXES:用来记录索引
当我们在数据库配置中进行操作的时候,主要是对maxobjecfg,maxtablecfg,maxattributecfg这三张表进行操作
当执行configdb操作后,系统检测上述三张表的数据,通过一系统操作,写入相应的表中并生成相应的对像。
通过分析,我们基本上了解了,当对象增加或删除字段时,主要是在maxattributecfg这张表中
这个表的CHANGED字段表名字段是变化类型的,
1,定义表,我们还是通过maximo本身来实现,定义好表本身的基本属性,保存。
2.从开发环境中,得到变化数据 如下:
select OBJECTNAME,
ATTRIBUTENAME,
ALIAS,
AUTOKEYNAME,
ATTRIBUTENO,
CANAUTONUM,
CLASSNAME,
COLUMNNAME,
DEFAULTVALUE,
DOMAINID,
EAUDITENABLED,
ENTITYNAME,
ESIGENABLED,
ISLDOWNER,
ISPOSITIVE,
LENGTH,
MAXTYPE,
MUSTBE,
REQUIRED,
PERSISTENT,
PRIMARYKEYCOLSEQ,
REMARKS,
SAMEASATTRIBUTE,
SAMEASOBJECT,
SCALE,
TITLE,
USERDEFINED,
'I' CHANGED,--此外我以新增为例
SEARCHTYPE,
MLSUPPORTED,
MLINUSE,
HANDLECOLUMNNAME,
-999 MAXATTRIBUTEID,---999,为了方便生成脚本时用 maxattributecfgseq.nextval替换
ROWSTAMP
from maxattributecfg
where objectname = 'PB' --对像名称 -
order by maxattributeid
在pl/sql dev中,执行上面的查询,查询出数据库,利用pl/sql的导出功能,把它导成sql脚本
3.用pl/sql 登录至正式环境数据库
执行上面的脚本,
4.MAXSYSINDEXES,表重复上面的操作
5.关闭应用
6.执行configdb
7.对关系表也做类似的操作(这个操作不用重启服务器,做configdb)
非常方便
其实,可以从maxobjectcfg.maxtablecfg把对像也导成sql,但是,我试了,表也能建成,但是,没有办法生成那个SEQ了,最近比较忙,那天有时间再去搞一下
下一章,准备写一应用程序的迁移!