válida una tipos tabla restricciones restriccion referencial referencia que llave integridad hace foreign foranea externa datos clave check java gradle liquibase

java - una - Liquibase: ¿Cómo establecer restricciones de clave(s) foránea(s) en la etiqueta de columna?



restriccion check sql server (2)

¿Cómo puedo configurar claves externas a través de los atributos de etiqueta de columna foreignKeyName y las references ? El único ejemplo que he encontrado demuestra cómo agregar claves externas después del hecho .


Tal vez usted puede agregar la clave externa de la siguiente manera:

<changeSet id="1" author="ozhanli"> <!-- Owner Entity. --> <createTable tableName="owner"> <column name="id" type="bigint" autoIncrement="true"> <constraints primaryKey="true" nullable="false"/> </column> <column name="name" type="varchar(255)"> <constraints nullable="true" /> </column> </createTable> <!-- Car Entity. --> <createTable tableName="car"> <column name="id" type="bigint" autoIncrement="true"> <constraints primaryKey="true" nullable="false"/> </column> <column name="brand" type="varchar(255)"> <constraints nullable="true" /> </column> <column name="owner_id" type="bigint"> <constraints nullable="true" /> </column> </createTable> <!-- Constraints for Car entity --> <addForeignKeyConstraint baseColumnNames="owner_id" baseTableName="car" constraintName="fk_car_owner_id" referencedColumnNames="id" referencedTableName="owner"/> </changeSet>


Use una etiqueta <constraints> anidada en su etiqueta de columna.

Ejemplo:

<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>