java - Liquibase:如何在列标签中设置外键约束?

标签 java gradle liquibase

如何通过列标签属性foreignKeyNamereferences配置外键?我发现的唯一示例演示了 how to add foreign keys after the fact .

最佳答案

使用嵌套的 <constraints>列标签中的标签。

例子:

<changeSet id="SAMPLE_1" author="alice">
    <createTable tableName="employee">
        <column name="id" type="int" autoIncrement="true">
            <constraints primaryKey="true"/>
        </column>
        <column name="first_name" type="varchar(255)"/>
        <column name="last_name" type="varchar(255)">
            <constraints nullable="false"/>
        </column>
    </createTable>
</changeSet>

<changeSet id="create address table" author="bob">
    <createTable tableName="address">
        <column name="id" type="int" autoIncrement="true">
            <constraints primaryKey="true"/>
        </column>
        <column name="line1" type="varchar(255)">
            <constraints nullable="false"/>
        </column>
        <column name="line2" type="varchar(255)"/>
        <column name="city" type="varchar(100)">
            <constraints nullable="false"/>
        </column>
        <column name="employee_id" type="int">
            <constraints nullable="false" foreignKeyName="fk_address_employee" references="employee(id)"/>
        </column>
    </createTable>
</changeSet>

关于java - Liquibase:如何在列标签中设置外键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718545/

相关文章:

liquibase - 如何在 Liquibase 中创建具有外键约束的表?

java - Spring ApplicationContext bean 加载了两次

java - 同步数据库访问

android - 有不可恢复的,必须先纠正

java - 无法在 Android Studio 中安装或导入 Volley

java - 创建索引时 Liquibase 缓慢

liquibase - Liquibase 应该处理并发初始化吗?

java - Jsoup 可以模拟按钮按下吗?

java - session 未创建异常 : Unable to create new service: GeckoDriverService with Selenium Grid on Ubuntu failing to drive Firefox

java - 添加gradle依赖后无法使用apache.poi库