【背景】
一项目200多个数据库的同一个脚本库要要做优化,这个脚本库的代码都一样,但是一个个拷贝脚本库无疑工作量相当大。作为一个技术人员,无疑会想如果能批量替换设计就好了,可是在网上很难找到操作数据库设计的例子,特别是domino是linux平台更是少之又少。
我记得之前呆过的一家公司,产品视图可以展示数据库设计,既然能展示数据库设计文档,那就相当于一个普通文档进行操作,这条道走不下去,可以换一条啊o(^▽^)o。下面详述创建展示数据库设计文档的视图过程。
【视图展示效果】
【实现步骤】
1、修改视图设计文档的"$FormulaClass"值为524,代码如下:
Sub Click(Source As Button)
Dim ss As New NotesSession
Dim ws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim view As NotesView
Dim designViewNote As NotesDocument
Set db = ss.CurrentDatabase
Set view = ws.CurrentView.View
Set designViewNote = db.GetDocumentByUNID(view.UniversalId)
designViewNote.replaceItemValue "$FormulaClass", Cstr(524)
designViewNote.save True, True
End Sub
2、视图搜索条件:SELECT @IsAvailable($Title) & @IsAvailable($Flags)
3、视图类型列代码:
@If(@Contains($Flags;"FY");"Folder";$Flags="^Y";"shareColumn";@Contains($Flags;"Y");"View";@Contains($Flags;"CUAx3");"SubForm";@Contains($Flags;"t34Q");"ScriptLibDatabase";@Contains($Flags;"sj34Q");"ScriptLibJava";@Contains($Flags;"h534Q");"ScriptLibJS";@Contains($Flags;".5834Q");"ScriptLibJSS";@Contains($Flags;"s34Q");"ScriptLibrayLS";@Contains($Flags;"#34CQ");"Frameset";@Contains($Flags;"C34WQ");"Page";@Contains($Flags;"m");"Outline";$Title="$ACTIONS";"ShareAction";@Contains($Flags;"34567Cg~[");"java";@Contains($Flags;"34567Cg~,");"jar";@Contains($Flags;"gC~4K");"xpage";@Contains($Flags;"gC~4;");"customControl";@Contains($Flags;"34C=Q");"css";@Contains($Flags;"345CgQ");"files";@Contains($Flags;"f");"Agent";@Contains($Flags;"{456");"webservice";@Contains($Flags;"~C4g");"eclipse";@Contains($Flags;"34CiQ");"Image";"Form")
4、视图标题列代码:
title:=@Subset($Title;-1);
@If(@Contains(title;"|");@Right(title;"|");title)
至此,视图修改完成即可显示数据库设计文档了。另外,如果做做批量替换还是做好备份,数据库没几个就不要用这个方法了。
附上数据库下载地址:
domino展示数据库设计文档视图的样例