如何生成数据模型或数据字典

本文提供两种生成Adobe Campaign数据库的数据模型或数据字典的方法。

描述 description

环境

Adobe Campaign Classic v7

问题/症状

本文档显示两种生成Adobe Campaign数据库的数据模型或数据字典的方法。

解决方法 resolution

Adobe Campaign包含数百个表。 本文档介绍了两种生成架构文档的不同方式:

  1. 生成Open Office文档(可在Microsoft Word中读取),或者
  2. 通过生成HTML网页。

方法1:创建OpenOffice文档

在Adobe Campaign中 datakit\nms\fra\package\optional 目录,有一个名为 dbbBuilder.xml. 此包文件包含一个JavaScript实体,该实体会生成一个Open Office文档,其中详细介绍了Adobe Campaign实例的数据库架构。

答: 创建JavaScript文件

使用Campaign控制台资源管理器视图,在管理配置JavaScript代码中编写一个简单的JavaScript实用程序,如下面的示例所示。

更改 strOutputFile 值,以添加要在其中创建Open Office文档的目标目录。 例如:/tmp/database-description.odt

文件示例: cus:build-dbd.js

/* * build-dbd.js/ var
 strXslt = "nl:dbdToOdt.xsl"
 var strTemplate = installDirectory( "datakit/nl/dbd-template.odt" )
 var strOutputFile = "database-description.odt"
 var sql = xtk.sqlSchema.create() sql.Generate()
 var strDbXml = db = sql.toXML().toXMLString()
 var strOdt = applyXsl(strXslt, strDbXml)
 strOdt = strOdt.replace(/\?xml .*\?\r?\n/, '\r\n' )
 var mbContent = new MemoryBuffer mbContent.fromString(strOdt, "utf-8" )
 var zip = new ZipFile(strTemplate)
 zip.open() zip.setEntry( "content.xml" , mbContent) zip.save(strOutputFile)

B. 导入dbdBuilder.xml

dbdBuilder.xml 通过在存储软件包的目录中执行以下命令,可以导入软件包。 将instance_name替换为Adobe Campaign实例的实际名称。

nlserver package - import :dbdBuilder.xml -instance:instance_name

Debian的包导入示例

neolane@debian: /nl6/datakit/nms/fra/package/optional $ cd
 /nl6/datakit/nms/fra/package/optionalneolane@debian:/nl6/datakit/nms/fra/package/optional$
 nlserverpackage -import:dbdBuilder.xml
 -instance:10:46:09
 Application serverfor Adobe Campaign Version 6.1.1(build 8537) of 04/16/201410:46:09
 Starting 1 connection(s) on pool'default vmcloud'(PostgreSQL, server='localhost',
 login='user:password')10:46:09 Importing package'/tmp/dbdBuilder.xml'...10:46:11
 Enumerating thefile entities...10:46:11
 Writing entitiesin the database...10:46:11
 Saving entities oftype 'xtk:xslt'...10:46:12
 Saving entities oftype 'xtk:javascript'...10:46:12
 Installation of packages successful.

适用于Windows的包导入示例

C: cd "\Program Files (x86)\Adobe\Adobe Campaign v6\bin"
 C:\Program Files (x86)\Adobe\Adobe Campaign v6\binnlserver.exe
 package - import : ..\datakit\nms\fra\package\optional\dbdBuilder.xml
 -instance: 13:52:57 Application server for Adobe Campaign Version 6.1.1 (build 8622) of 01 /19/2015 13:52:57
 Starting 1 connection(s) on pool 'default ' (PostgreSQL, server= 'localhost' , login= 'user:password' ) 13:52:57
 Importing package 'C:\Program Files (x86)\Adobe\Adobe Campaign v6\bin\..\datakit\nms\fra\package\optional\dbdBuilder.xml'...
 13:52:59 Enumerating the file entities...
 13:52:59 Writing entities in the database...
 13:52:59 Saving entities of type 'xtk:javascript' ...
 13:52:59 Installation of packages successful.

C. 生成数据库说明

要生成数据库说明,可以执行 cus:build-dbd.js JavaScript实体与nlserver模块一起使用命令行,如下所示:

neolane@debian: /tmp $ nlserver javascript -instance: cus:build-dbd.js 05:06:12
 Application server for Adobe Campaign Version 6.1.1 (build 8537) of 04 /16/2014
 05:06:12 Starting 1 connection(s) on pool
 'default vmcloud' (PostgreSQL, server= 'localhost' , login= 'user:vmcloud' )
 05:06:12 Executing JavaScript from entity of identifier 'xs:build-dbd.js' ...
 05:06:12 Generating the database structure...
 05:06:12 Element '0' unknown (see definition of schema 'Recipient delivery logs (nms:broadLogRcp)').
 (iRc=16384)
 05:06:12 Element '0' unknown (see definition of schema 'Visitor delivery logs (nms:broadLogVisitor)').
 (iRc=16384) 05:06:12 Element '0' unknown (see definition of schema 'Recipient delivery logs (nms:broadLogRcp)').
 (iRc=16384) 05:06:12 Element '0' unknown (see definition of schema 'Visitor delivery logs (nms:broadLogVisitor)').
 (iRc=16384) 05:06:13 Generating the ODT XML... 05:06:14 Saving the zip file ...
 05:06:14 File saved as 'database-description.odt

名为'database-description.odt'的OpenOffice文档将在您指定的目录中生成 build-dbd.js. 它包含Adobe Campaign表的说明。 此文档可以使用Microsoft Word或OpenOffice进行编辑,并且可以转换为PDF。

database-description

数据模型文件示例:本文档显示了数据库表索引、SQL字段和键以及模式链接列表。

方法2:使用xsltproc创建网页

此替代方法基于Linux xsltproc 命令行工具。 在此方案中,您可以通过创建XML文档来导出架构,然后使用XSLT文件将XML转换为HTML。 可在浏览器中查看输出文件。

对于此方法,您需要:

  • 要运行的Linux或Macintosh环境 xsltproc,这是一个标准的Macintosh Mac OS X命令行实用程序。
  • 附加文件, database.xsl、和 styles.xml (请参阅attachments.zip)。

注意:有一个Windows等效项, msxsl.exe可以在这个平台上正常运行, 但还没有经过测试.

现在msxsl.exe是 MS Core XML Services (MSXML).

MS Core XML Services (MSXML) 可在Microsoft更新目录中找到下载。

下载
获取文件
database.xslstyles.xml

  1. 下载两个附加文件 database.xslstyles.xml 到Linux或Mac上的工作目录中。 在XSL的顶部,有两个变量可供调整:
    xsl:variable name="unicode"false/xsl:variable
    xsl:variable name="engine"postgresql/xsl:variable
    引擎支持的值为:postgresql、mssql和oracle。 将引擎变量设置为与营销实例数据库对应的值。
  2. 从Campaign控制台中,转到管理配置包管理包定义,然后创建 package.xml 包含数据模式的文件(xtk:schema)。
  3. 导出资源包,然后将文件复制到Linux或Mac工作目录。
  4. 使用以下命令在工作目录中处理package.xml文件 XSLT: xsltproc database.xsl package.xml database.html.

生成的文档并不完美:

  • 无法记录链接上的某些加入条件。
  • 当某个枚举在一个架构中被引用,但在另一个不在包中的架构中定义时,未记录该枚举。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f