我尝试使用 Liquibase 创建表格,但我不知道这三个属性:catalogName
、remarks
和、tablespace
.虽然可以在没有这些属性的情况下创建表,但我仍然想知道这些属性的含义是什么以及何时应该使用它们。 (就我而言,我使用 h2/mysql/postgres)。
下面是Liquibase的引用资料,列出了属性,但没有详细说明。
引用号:Liquibase | Database Refactoring | Change createTable
链接中提供的代码:
<changeSet author="liquibase-docs" id="createTable-example">
<createTable catalogName="cat"
remarks="A String"
schemaName="public"
tableName="person"
tablespace="A String">
<column name="address" type="varchar(255)"/>
</createTable>
</changeSet>
最佳答案
目录
目录有时与“数据库”同义(至少在 Oracle 和 Postgres 中),有时与“架构”同义,有时与两者同义。术语“目录”通常还意味着元数据收集(系统表)。 这篇文章彻底解释了“目录”一词:Relationship between catalog, schema, user, and database instance .
表空间(例如 Oracle)
数据库、表空间和数据文件密切相关,但它们也有重要的区别: 1. Oracle 数据库由一个或多个称为表空间的逻辑存储单元组成,它们共同存储数据库的所有数据。 2. Oracle 数据库中的每个表空间都由一个或多个称为数据文件的文件组成,这些文件是符合 Oracle 运行的操作系统的物理结构。 3. 数据库的数据集中存储在构成数据库的各个表空间的数据文件中。例如,最简单的 Oracle 数据库将具有一个表空间和一个数据文件。另一个数据库可以具有三个表空间,每个表空间包含两个数据文件(总共六个数据文件)。
进一步研究的链接:[ https://docs.oracle.com/cd/B19306_01/server.102/b14220/physical.htm]
备注
与该表相关的注释,例如某种文档。
关于Liquibase:应用于表的 'catalogName' 、 'remarks' 和 'tablespace' 属性的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54471481/