liquibase 列的默认可为空约束设置是什么?
What is the default nullable constraint setting for a liquibase column?
我正在创建一个新的 table,像这样:
<createTable tableName="myTable">
<column name="key" type="int" autoIncrement="true">
<constraints primaryKey="true" primaryKeyName="PK_myTable" nullable="false"/>
</column>
<column name="name" type="nvarchar(40)">
<constraints nullable="false"/>
</column>
<column name="description" type="nvarchar(100)">
<constraints nullable="true"/>
</column>
</createTable>
就 nullable
约束而言,如果我省略该属性,默认设置是什么?
例如,
如果我只这样做:
<column name="description" type="nvarchar(100)"/>
...该列可以为空吗?
更重要的是,指定这个的文档在哪里(因为我还有其他类似的问题)?
我在这里看了:Liquibase Column Tag,但它只是模棱两可地说:
nullable - Is column nullable?
它没有记录在案,但我查看了源代码,似乎如果您不指定,则不会向该列添加任何约束。您可以自己检查的一种方法是使用 liquibase updateSql
命令查看生成的 SQL。
实际上它被记录在案 here。
Defines whether the column is nullable. Default: database-dependent
所以默认的空约束是database-dependent。
例如,如果您使用 Postgres,默认情况下它将不可为空。
https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-not-null-constraint/
Use the NOT NULL constraint for a column to enforce a column not accept NULL. By default, a column can hold NULL.
我正在创建一个新的 table,像这样:
<createTable tableName="myTable">
<column name="key" type="int" autoIncrement="true">
<constraints primaryKey="true" primaryKeyName="PK_myTable" nullable="false"/>
</column>
<column name="name" type="nvarchar(40)">
<constraints nullable="false"/>
</column>
<column name="description" type="nvarchar(100)">
<constraints nullable="true"/>
</column>
</createTable>
就 nullable
约束而言,如果我省略该属性,默认设置是什么?
例如, 如果我只这样做:
<column name="description" type="nvarchar(100)"/>
...该列可以为空吗?
更重要的是,指定这个的文档在哪里(因为我还有其他类似的问题)?
我在这里看了:Liquibase Column Tag,但它只是模棱两可地说:
nullable - Is column nullable?
它没有记录在案,但我查看了源代码,似乎如果您不指定,则不会向该列添加任何约束。您可以自己检查的一种方法是使用 liquibase updateSql
命令查看生成的 SQL。
实际上它被记录在案 here。
Defines whether the column is nullable. Default: database-dependent
所以默认的空约束是database-dependent。 例如,如果您使用 Postgres,默认情况下它将不可为空。
https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-not-null-constraint/
Use the NOT NULL constraint for a column to enforce a column not accept NULL. By default, a column can hold NULL.