数据存储

当一个 Jmix 应用程序创建完成后,会自带一个主 数据存储,可以从 Jmix 工具窗口 访问。

data tree

双击可以打开数据存储的属性对话框。默认选择 HSQLDB 数据库类型。

data properties

主数据存储和附加数据存储都有下列属性:

  • Database type - 数据库服务类型。可以从列表选择支持的数据库类型。

  • Database URL - 数据库服务地址、端口以及数据库名称。

    • Connection params - 其他连接参数。连接参数的格式依赖选择的数据库类型。字符串需要在数据库名称和参数之间包含一个分隔符。可以通过 Connection params 字段最右边的小铅笔按钮方便地输入连接参数。此时,Studio 会自动合成连接串并添加特定数据库类型的分隔符。

      data params
    • Show raw URL - 显示连接参数的 URL 形式。

    • Integrated Security - 当连接至 Microsoft SQL Server 2012+ 数据库时,启用相应的认证选项。

  • Database userPassword - 数据库连接凭证。

可以用 ${VAR:default_value} 这种格式的占位符,其中 VAR 是用于设置数据库属性的环境变量。

data vars

Studio 会解析占位符,并将结果值用于数据库的所有操作:测试连接、重新创建、更新、Liquibase 差异比较等。

Supported DB Types - 支持的数据库类型 部分包含 Enable support for several DB types - 启用多数据库类型 复选框。如果勾选了这个复选框,则可以选择多个支持的数据库。Studio 会生成支持所选数据库的一组 Liquibase 脚本。

Database Identifiers Length Mode - 数据库标识符长度模式 部分可以选择以下三种模式(表、列、索引等名称的长度):

  • Oracle - 最大 30 个字符。

  • Postgres - 最大 64 个字符。

  • Unlimited - 无限长度。

附加数据存储

如需创建附加数据存储,可以使用数据存储右键菜单的 操作。另一种方式是从 Advanced 菜单选取:

data advanced

参阅上面的 数据库属性 内容,适用于主/附加数据存储。

data schema

对于附加数据存储,指定 Data store name(数据存储名称) 并在 DB Schema Management 选择数据库结构管理类型:

  • Disabled - Studio 不跟踪此数据库结构的变化。这是默认模式。

  • Update Only - 仅提供更新操作,并创建 Liquibase 变更日志。

  • Create and Update - 提供更新和重建操作,并创建 Liquibase 变更日志。

数据存储操作

在 Jmix 项目树中右键点击一个数据存储,打开右键菜单:

data actions

菜单中操作的数量与数据存储的类型和数据库结构管理类型有关。

  • New → Additional Data Store - 打开新建数据存储的对话框。

  • New → Liquibase Changelog - 使用正确的名称生成一个新的 changelog 文件。

  • Manage Data Store - 打开编辑数据存储配置的对话框。

  • Delete Data Store - 删除该数据存储以及关联的配置文件和 Liquibase changelog。

  • Recreate - 重新创建该数据存储对应的数据库。适用于 Create and Update 数据库结构管理 类型的主/附加数据存储。

  • Update - 更新该数据存储对应的数据库。适用于 Update OnlyCreate and Update 数据库结构管理 类型的主/附加数据存储。

  • Generate Liquibase Changelog - 通过比较数据模型和数据库结构为数据存储生成更改日志文件。适用于 Update OnlyCreate and Update 数据库结构管理 类型的主/附加数据存储。

    此功能需要快速开发版或企业版 订阅。如果没有订阅,请尝试 试用版

  • Check Liquibase Changelog Includes - 检查 root changelog 中的引入是否与项目的扩展组件相匹配。如果有不匹配的地方,Studio 会展示一个通知弹窗,并建议添加或删除某些引入。

  • Generate Model from Database - 为某个数据库逆向生成数据模型。

  • Jump to Source - 打开 Spring 配置类。