/*
 * This file is generated by jOOQ.
 */
package ervu_dashboard.ervu_dashboard.db_beans.public_;


import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Citizen;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Education;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Employment;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Gender;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.MaritalStatus;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.PubRecruitment;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.ReasonRegistration;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.Subpoena;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.CitizenRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.EducationRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.EmploymentRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.GenderRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.MaritalStatusRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.PubRecruitmentRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.ReasonRegistrationRecord;
import ervu_dashboard.ervu_dashboard.db_beans.public_.tables.records.SubpoenaRecord;

import org.jooq.ForeignKey;
import org.jooq.TableField;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.Internal;


/**
 * A class modelling foreign key relationships and constraints of tables in
 * public.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class Keys {

    // -------------------------------------------------------------------------
    // UNIQUE and PRIMARY KEY definitions
    // -------------------------------------------------------------------------

    public static final UniqueKey<CitizenRecord> CITIZEN_PKEY = Internal.createUniqueKey(Citizen.CITIZEN, DSL.name("citizen_pkey"), new TableField[] { Citizen.CITIZEN.ID_ERN }, true);
    public static final UniqueKey<EducationRecord> EDUCATION_PKEY = Internal.createUniqueKey(Education.EDUCATION, DSL.name("education_pkey"), new TableField[] { Education.EDUCATION.EDUCATION_ID }, true);
    public static final UniqueKey<EmploymentRecord> EMPLOYMENT_PKEY = Internal.createUniqueKey(Employment.EMPLOYMENT, DSL.name("employment_pkey"), new TableField[] { Employment.EMPLOYMENT.EMPLOYMENT_ID }, true);
    public static final UniqueKey<GenderRecord> GENDER_PKEY = Internal.createUniqueKey(Gender.GENDER, DSL.name("gender_pkey"), new TableField[] { Gender.GENDER.GENDER_ID }, true);
    public static final UniqueKey<MaritalStatusRecord> MARITAL_STATUS_PKEY = Internal.createUniqueKey(MaritalStatus.MARITAL_STATUS, DSL.name("marital_status_pkey"), new TableField[] { MaritalStatus.MARITAL_STATUS.MARITAL_STATUS_ID }, true);
    public static final UniqueKey<PubRecruitmentRecord> RECRUITMENT_IDM_ID_KEY = Internal.createUniqueKey(PubRecruitment.PUB_RECRUITMENT, DSL.name("recruitment_idm_id_key"), new TableField[] { PubRecruitment.PUB_RECRUITMENT.IDM_ID }, true);
    public static final UniqueKey<PubRecruitmentRecord> RECRUITMENT_PKEY = Internal.createUniqueKey(PubRecruitment.PUB_RECRUITMENT, DSL.name("recruitment_pkey"), new TableField[] { PubRecruitment.PUB_RECRUITMENT.ID }, true);
    public static final UniqueKey<ReasonRegistrationRecord> REASON_REGISTRATION_PKEY = Internal.createUniqueKey(ReasonRegistration.REASON_REGISTRATION, DSL.name("reason_registration_pkey"), new TableField[] { ReasonRegistration.REASON_REGISTRATION.REASON_REGISTRATION_ID }, true);
    public static final UniqueKey<SubpoenaRecord> SUBPOENA_PKEY = Internal.createUniqueKey(Subpoena.SUBPOENA, DSL.name("subpoena_pkey"), new TableField[] { Subpoena.SUBPOENA.SUBPOENA_ID }, true);

    // -------------------------------------------------------------------------
    // FOREIGN KEY definitions
    // -------------------------------------------------------------------------

    public static final ForeignKey<CitizenRecord, PubRecruitmentRecord> CITIZEN__P_CITIZEN_FK1 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk1"), new TableField[] { Citizen.CITIZEN.RECRUITMENT_ID }, Keys.RECRUITMENT_PKEY, new TableField[] { PubRecruitment.PUB_RECRUITMENT.ID }, true);
    public static final ForeignKey<CitizenRecord, GenderRecord> CITIZEN__P_CITIZEN_FK2 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk2"), new TableField[] { Citizen.CITIZEN.GENDER_ID }, Keys.GENDER_PKEY, new TableField[] { Gender.GENDER.GENDER_ID }, true);
    public static final ForeignKey<CitizenRecord, MaritalStatusRecord> CITIZEN__P_CITIZEN_FK3 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk3"), new TableField[] { Citizen.CITIZEN.MARITAL_STATUS_ID }, Keys.MARITAL_STATUS_PKEY, new TableField[] { MaritalStatus.MARITAL_STATUS.MARITAL_STATUS_ID }, true);
    public static final ForeignKey<CitizenRecord, EmploymentRecord> CITIZEN__P_CITIZEN_FK4 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk4"), new TableField[] { Citizen.CITIZEN.EMPLOYMENT_ID }, Keys.EMPLOYMENT_PKEY, new TableField[] { Employment.EMPLOYMENT.EMPLOYMENT_ID }, true);
    public static final ForeignKey<CitizenRecord, EducationRecord> CITIZEN__P_CITIZEN_FK5 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk5"), new TableField[] { Citizen.CITIZEN.EDUCATION_ID }, Keys.EDUCATION_PKEY, new TableField[] { Education.EDUCATION.EDUCATION_ID }, true);
    public static final ForeignKey<CitizenRecord, ReasonRegistrationRecord> CITIZEN__P_CITIZEN_FK6 = Internal.createForeignKey(Citizen.CITIZEN, DSL.name("p_citizen_fk6"), new TableField[] { Citizen.CITIZEN.REASON_REGISTRATION_ID }, Keys.REASON_REGISTRATION_PKEY, new TableField[] { ReasonRegistration.REASON_REGISTRATION.REASON_REGISTRATION_ID }, true);
    public static final ForeignKey<MaritalStatusRecord, GenderRecord> MARITAL_STATUS__MARITAL_STATUS_FK1 = Internal.createForeignKey(MaritalStatus.MARITAL_STATUS, DSL.name("marital_status_fk1"), new TableField[] { MaritalStatus.MARITAL_STATUS.GENDER_ID }, Keys.GENDER_PKEY, new TableField[] { Gender.GENDER.GENDER_ID }, true);
}
