wsschema 命令

该模式工具可用于查看 XML 格式的数据库模式或将 XML 模式匹配至现有数据库。

wsschema 工具可反映当前数据库模式,并根据情况将它转换为 XML 表示,以备进一步操作。模式工具也可以接受 XML 模式定义,计算 XML 模式与现有数据库模式之间的差别,然后应用必要的更改以使数据库与 XML 模式相符。该模式工具所使用的 XML 格式是从不同供应商所使用的 SQL 方言之间的差别中提取的。该工具还自动调整它的 SQL 以符合外部依赖性,因此,该模式工具可用作为一种操作模式的常规方法。

语法

命令语法如下所示:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsschema.sh [parameters][arguments]
[IBM i]
wsschema [parameters][arguments]
[Windows]
wsschema.bat [parameters][arguments]

请从 profile_root 目录的 bin 子目录中发出该命令。

参数

wsschema 工具接受由配置框架定义的标准命令行自变量集以及以下选项:
  • -ignoreErrors/-i <true/t | false/f>:如果设置为 false,那么在该工具遇到任何数据库错误时,将发生异常。

    缺省值设置为 false

  • -file/-f <stdout | output file>:使用此选项编写已规划模式修改的 SQL 脚本,而不是将它们落实到数据库。

    与 export 或 reflect 操作配合使用此选项时,将使用已命名的文件来编写所导出的模式 XML。如果该文件指定类路径中的某个资源,那么会将数据写入该资源。使用 stdout 来写入标准输出中。缺省设置为 stdout

  • -openjpatables/-ot <true/t | false/f>:反映模式时,此参数确定是否反映名称以 OPENJPA_ 开头的表和序列。

    某些 OpenJPA 组件可以使用此类表和序列,例如表模式工厂。使用其他操作时,openjpaTables 控制是否可以删除这些表。缺省设置为 false

  • -dropTables/-dt <true/t | false/f>:将此选项设置为 true 时,模式将删除 retain 和 refresh 操作期间未使用的表。

    缺省值为 true

  • -dropSequences/-dsq <true/t | false/f>:如果将此选项设置为 true,那么模式将删除 retain 和 refresh 操作期间未使用的序列。

    缺省值为 true

  • -sequences/-sq <true/t | false/f>:此标志确定是否可操作序列。

    缺省值为 true

  • -indexes/-ix <true/t | false/f>:此标志确定是否可在现有表上操作索引。

    缺省值为 true

  • -primaryKeys/-pk <true/t | false/f>:此标志确定是否可在现有表上操作主键。

    缺省值为 true

  • -foreignKeys/fk <true/t | false/f>:此标志确定是否可在现有表上操作外键。

    缺省值为 true

  • -record/-r <true/t | false/f>:此标志允许或阻止将该模式工具所作的模式更改写入当前模式工厂。

    选择 true 以允许写入模式更改,或选择 false 以阻止写入模式更改。缺省值设置为 true

  • -schemas/-s <schema list>:表示运行该模式工具时 OpenJPA 应该访问的模式名和表名列表。

    这相当于将 openjpa.jdbc.Schemas 属性设置为运行一次。

    要点: 该模式工具接受 -action/-a 标志。可在列表中写入多个操作,操作之间用逗号分隔。可用操作为:
    • add:如果未指定任何其他操作,那么这是缺省操作。它使用给定的 XML 文档通过添加表、列、索引或其他组件来更新该模式。此操作从不删除任何模式组件。
    • retain:此操作将所有模式组件保留在给定的 XML 定义中,但从数据库中删除其余组件。此操作从不添加任何模式组件。
    • drop:删除模式 XML 中的所有模式组件。只有在删除 XML 中列出的所有列后,列的数目为 0 时,此操作才会删除表。
    • refresh:此操作相当于将 retainadd 功能一起使用。
    • build:生成 SQL 以构建一个与提供的 XML 文件中的模式相匹配的模式。与 add 操作不同的是,此选项不考虑 XML 文件中定义的模式部分在数据库中已存在这一情况。此操作通常与 -file/-f 参数标志配合使用,以编写 SQL 脚本。此脚本稍后可用于在 XML 中重新创建模式。
    • reflect:生成当前数据库模式的 XML 表示。
    • createDB:此操作生成 SQL 以重新创建当前数据库。此操作通常与 -file/-f 参数标志配合使用,以编写可用于在新数据库上重新创建当前模式的 SQL 脚本。
    • dropDB:生成 SQL 以断开当前数据库。 与 createDB 操作相似,此操作可与 -file/-f 参数标志配合使用,以编写数据库删除脚本,而不是手动执行数据库删除操作。
    • import:将给定的 XML 模式定义导入当前模式工厂中。
      注: 如果模式工厂未存储模式记录,那么此操作将不执行任何处理。
    • export:将当前模式工厂存储的模式定义导出至 XML 文件。
      注: 如果模式工厂未存储模式记录,那么此操作将生成一个空文件。
    • deleteTableContents:此操作实现 SQL 以从 OpenJPA 找到的所有表中删除所有行。

用法

wsschema 工具用于获取一个描述数据库模式的 XML 文件。要生成 XML 模式文件,请执行下列操作:
  • 您必须已配置数据库表和数据库连接。
  • 在命令行中从 $ {profile_root}/bin 目录运行 wsschema 工具。
  • 该工具将生成一个用于描述数据库模式的 XML 文件。
消息和错误会记录到配置所指定的管理控制台中。

示例

将必需的模式组件添加至数据库以匹配给定的 XML 文档,而不删除任何数据:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ wsschema.sh targetSchema.xml
[IBM i]
$ wsschema targetSchema.xml
[Windows]
$ wsschema.bat targetSchema.xml

重复执行与上一示例相同的操作,但这一次不更改数据库,而是改为将任何已规划的更改写入 SQL 脚本中:

[AIX][HP-UX][Linux][Solaris][z/OS]
wsschema.sh -f script.sql targetSchema.xml
[IBM i]
wsschema -f script.sql targetSchema.xml
[Windows]
wsschema.bat -f script.sql targetSchema.xml

编写一个用于重新创建当前数据库的 SQL 脚本:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ wsschema.sh -a createDB -f script.sql
[IBM i]
$ wsschema -a createDB -f script.sql
[Windows]
$ wsschema.bat -a createDB -f script.sql

刷新模式并删除 OpenJPA 知道的所有表的全部内容:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ wsschema.bat -a refresh,deleteTableContents
[IBM i]
$ wsschema -a refresh,deleteTableContents
[Windows]
$ wsschema.bat -a refresh,deleteTableContents

删除当前数据库:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ wsschema.sh -a dropDB
[IBM i]
$ wsschema -a dropDB
[Windows]
$ wsschema.bat -a dropDB

将当前模式的 XML 表示写入 schema.xml 文件:

[AIX][HP-UX][Linux][Solaris][z/OS]
$ wsschema.sh -a reflect -f schema.xml
[IBM i]
$ wsschema -a reflect -f schema.xml
[Windows]
$ wsschema.bat -a reflect -f schema.xml

附加信息

有关更多信息,请参阅 Apache OpenJPA 文档中的 JDBC 信息。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_wsschema
文件名:rejb_wsschema.html