/*
 * This file is generated by jOOQ.
 */
package ru.micord.ervu.account_applications.db_beans.public_;


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

import ru.micord.ervu.account_applications.db_beans.public_.tables.Databasechangeloglock;
import ru.micord.ervu.account_applications.db_beans.public_.tables.IpDirectory;
import ru.micord.ervu.account_applications.db_beans.public_.tables.JobPosition;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationIpAddress;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUpdateIpAddress;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.LinkUserApplicationUserApplicationUpdateRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Recruitment;
import ru.micord.ervu.account_applications.db_beans.public_.tables.RecruitmentIp;
import ru.micord.ervu.account_applications.db_beans.public_.tables.RecruitmentSolution;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Shedlock;
import ru.micord.ervu.account_applications.db_beans.public_.tables.Solution;
import ru.micord.ervu.account_applications.db_beans.public_.tables.SolutionRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationDocument;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationListAudit;
import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationRole;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.DatabasechangeloglockRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.IpDirectoryRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.JobPositionRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.LinkUserApplicationIpAddressRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.LinkUserApplicationUpdateIpAddressRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.LinkUserApplicationUserApplicationRoleRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.LinkUserApplicationUserApplicationUpdateRoleRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.RecruitmentIpRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.RecruitmentRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.RecruitmentSolutionRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.ShedlockRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.SolutionRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.SolutionRoleRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationDocumentRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationListAuditRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationListRecord;
import ru.micord.ervu.account_applications.db_beans.public_.tables.records.UserApplicationRoleRecord;


/**
 * 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<DatabasechangeloglockRecord> DATABASECHANGELOGLOCK_PKEY = Internal.createUniqueKey(Databasechangeloglock.DATABASECHANGELOGLOCK, DSL.name("databasechangeloglock_pkey"), new TableField[] { Databasechangeloglock.DATABASECHANGELOGLOCK.ID }, true);
    public static final UniqueKey<IpDirectoryRecord> IP_DIRECTORY_PKEY = Internal.createUniqueKey(IpDirectory.IP_DIRECTORY, DSL.name("ip_directory_pkey"), new TableField[] { IpDirectory.IP_DIRECTORY.IP_ADDRESS }, true);
    public static final UniqueKey<JobPositionRecord> PK_JOB_POSITION = Internal.createUniqueKey(JobPosition.JOB_POSITION, DSL.name("pk_job_position"), new TableField[] { JobPosition.JOB_POSITION.JOB_POSITION_ID }, true);
    public static final UniqueKey<LinkUserApplicationIpAddressRecord> IP_ADDRESS = Internal.createUniqueKey(LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS, DSL.name("ip_address"), new TableField[] { LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS.USER_APPLICATION_LIST_ID, LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS.IP_ADDRESS }, true);
    public static final UniqueKey<LinkUserApplicationIpAddressRecord> PK_LINK_USER_APPLICATION_IP_ADDRESS = Internal.createUniqueKey(LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS, DSL.name("pk_link_user_application_ip_address"), new TableField[] { LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS.LINK_USER_APPLICATION_IP_ADDRESS_ID }, true);
    public static final UniqueKey<LinkUserApplicationUpdateIpAddressRecord> IP_ADDRESS_UPDATE = Internal.createUniqueKey(LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS, DSL.name("ip_address_update"), new TableField[] { LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS.USER_APPLICATION_LIST_ID, LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS.IP_ADDRESS_UPDATE }, true);
    public static final UniqueKey<LinkUserApplicationUpdateIpAddressRecord> PK_LINK_USER_APPLICATION_UPDATE_IP_ADDRESS = Internal.createUniqueKey(LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS, DSL.name("pk_link_user_application_update_ip_address"), new TableField[] { LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS_ID }, true);
    public static final UniqueKey<LinkUserApplicationUserApplicationRoleRecord> PK_LINK_USER_APPLICATION_USER_APPLICATION_ROLE = Internal.createUniqueKey(LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE, DSL.name("pk_link_user_application_user_application_role"), new TableField[] { LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE.LINK_USER_APPLICATION_USER_ROLE_ID }, true);
    public static final UniqueKey<LinkUserApplicationUserApplicationRoleRecord> UNI_USER_APPLICATION_ROLE = Internal.createUniqueKey(LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE, DSL.name("uni_user_application_role"), new TableField[] { LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE.USER_APPLICATION_LIST_ID, LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE.USER_ROLE_ID }, true);
    public static final UniqueKey<LinkUserApplicationUserApplicationUpdateRoleRecord> PK_LINK_USER_APPLICATION_UPDATE_ROLE = Internal.createUniqueKey(LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE, DSL.name("pk_link_user_application_update_role"), new TableField[] { LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE.LINK_USER_APPLICATION_USER_UPDATE_ROLE_ID }, true);
    public static final UniqueKey<LinkUserApplicationUserApplicationUpdateRoleRecord> UNI_USER_APPLICATION_UPDATE_ROLE = Internal.createUniqueKey(LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE, DSL.name("uni_user_application_update_role"), new TableField[] { LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE.USER_APPLICATION_LIST_ID, LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE.USER_UPDATE_ROLE_ID }, true);
    public static final UniqueKey<RecruitmentRecord> RECRUITMENT_IDM_ID_KEY = Internal.createUniqueKey(Recruitment.RECRUITMENT, DSL.name("recruitment_idm_id_key"), new TableField[] { Recruitment.RECRUITMENT.IDM_ID }, true);
    public static final UniqueKey<RecruitmentRecord> RECRUITMENT_PKEY = Internal.createUniqueKey(Recruitment.RECRUITMENT, DSL.name("recruitment_pkey"), new TableField[] { Recruitment.RECRUITMENT.ID }, true);
    public static final UniqueKey<RecruitmentIpRecord> PK_RECRUITMENT_IP = Internal.createUniqueKey(RecruitmentIp.RECRUITMENT_IP, DSL.name("pk_recruitment_ip"), new TableField[] { RecruitmentIp.RECRUITMENT_IP.RECRUITMENT_ID, RecruitmentIp.RECRUITMENT_IP.IP_ADDRESS }, true);
    public static final UniqueKey<RecruitmentSolutionRecord> PK_RECRUITMENT_SOLUTION = Internal.createUniqueKey(RecruitmentSolution.RECRUITMENT_SOLUTION, DSL.name("pk_recruitment_solution"), new TableField[] { RecruitmentSolution.RECRUITMENT_SOLUTION.RECRUITMENT_ID, RecruitmentSolution.RECRUITMENT_SOLUTION.SOLUTION_ID }, true);
    public static final UniqueKey<ShedlockRecord> SHEDLOCK_PK = Internal.createUniqueKey(Shedlock.SHEDLOCK, DSL.name("shedlock_pk"), new TableField[] { Shedlock.SHEDLOCK.NAME }, true);
    public static final UniqueKey<SolutionRecord> SOLUTION_PKEY = Internal.createUniqueKey(Solution.SOLUTION, DSL.name("solution_pkey"), new TableField[] { Solution.SOLUTION.ID }, true);
    public static final UniqueKey<SolutionRoleRecord> PK_SOLUTION_ROLE = Internal.createUniqueKey(SolutionRole.SOLUTION_ROLE, DSL.name("pk_solution_role"), new TableField[] { SolutionRole.SOLUTION_ROLE.ROLE_ID, SolutionRole.SOLUTION_ROLE.SOLUTION_ID }, true);
    public static final UniqueKey<UserApplicationDocumentRecord> PK_USER_APPLICATION_DOCUMENT = Internal.createUniqueKey(UserApplicationDocument.USER_APPLICATION_DOCUMENT, DSL.name("pk_user_application_document"), new TableField[] { UserApplicationDocument.USER_APPLICATION_DOCUMENT.USER_APPLICATION_DOCUMENT_ID }, true);
    public static final UniqueKey<UserApplicationListRecord> PK_USER_APPLICATION_LIST = Internal.createUniqueKey(UserApplicationList.USER_APPLICATION_LIST, DSL.name("pk_user_application_list"), new TableField[] { UserApplicationList.USER_APPLICATION_LIST.USER_APPLICATION_LIST_ID }, true);
    public static final UniqueKey<UserApplicationListAuditRecord> USER_APPLICATION_LIST_AUDIT_PKEY = Internal.createUniqueKey(UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT, DSL.name("user_application_list_audit_pkey"), new TableField[] { UserApplicationListAudit.USER_APPLICATION_LIST_AUDIT.ID }, true);
    public static final UniqueKey<UserApplicationRoleRecord> USER_APPLICATION_ROLE_PKEY = Internal.createUniqueKey(UserApplicationRole.USER_APPLICATION_ROLE, DSL.name("user_application_role_pkey"), new TableField[] { UserApplicationRole.USER_APPLICATION_ROLE.USER_ROLE_ID }, true);

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

    public static final ForeignKey<LinkUserApplicationIpAddressRecord, UserApplicationListRecord> LINK_USER_APPLICATION_IP_ADDRESS__FK1_USER_APPLICATION_LIST = Internal.createForeignKey(LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS, DSL.name("fk1_user_application_list"), new TableField[] { LinkUserApplicationIpAddress.LINK_USER_APPLICATION_IP_ADDRESS.USER_APPLICATION_LIST_ID }, Keys.PK_USER_APPLICATION_LIST, new TableField[] { UserApplicationList.USER_APPLICATION_LIST.USER_APPLICATION_LIST_ID }, true);
    public static final ForeignKey<LinkUserApplicationUpdateIpAddressRecord, UserApplicationListRecord> LINK_USER_APPLICATION_UPDATE_IP_ADDRESS__FK2_USER_APPLICATION_LIST = Internal.createForeignKey(LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS, DSL.name("fk2_user_application_list"), new TableField[] { LinkUserApplicationUpdateIpAddress.LINK_USER_APPLICATION_UPDATE_IP_ADDRESS.USER_APPLICATION_LIST_ID }, Keys.PK_USER_APPLICATION_LIST, new TableField[] { UserApplicationList.USER_APPLICATION_LIST.USER_APPLICATION_LIST_ID }, true);
    public static final ForeignKey<LinkUserApplicationUserApplicationRoleRecord, UserApplicationListRecord> LINK_USER_APPLICATION_USER_APPLICATION_ROLE__FK_USER_APPLICATION_LIST = Internal.createForeignKey(LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE, DSL.name("fk_user_application_list"), new TableField[] { LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE.USER_APPLICATION_LIST_ID }, Keys.PK_USER_APPLICATION_LIST, new TableField[] { UserApplicationList.USER_APPLICATION_LIST.USER_APPLICATION_LIST_ID }, true);
    public static final ForeignKey<LinkUserApplicationUserApplicationRoleRecord, UserApplicationRoleRecord> LINK_USER_APPLICATION_USER_APPLICATION_ROLE__FK_USER_ROLE = Internal.createForeignKey(LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE, DSL.name("fk_user_role"), new TableField[] { LinkUserApplicationUserApplicationRole.LINK_USER_APPLICATION_USER_APPLICATION_ROLE.USER_ROLE_ID }, Keys.USER_APPLICATION_ROLE_PKEY, new TableField[] { UserApplicationRole.USER_APPLICATION_ROLE.USER_ROLE_ID }, true);
    public static final ForeignKey<LinkUserApplicationUserApplicationUpdateRoleRecord, UserApplicationRoleRecord> LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE__FK1_USER_ROLE = Internal.createForeignKey(LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE, DSL.name("fk1_user_role"), new TableField[] { LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE.USER_UPDATE_ROLE_ID }, Keys.USER_APPLICATION_ROLE_PKEY, new TableField[] { UserApplicationRole.USER_APPLICATION_ROLE.USER_ROLE_ID }, true);
    public static final ForeignKey<LinkUserApplicationUserApplicationUpdateRoleRecord, UserApplicationListRecord> LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE__FK3_USER_APPLICATION_LIST = Internal.createForeignKey(LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE, DSL.name("fk3_user_application_list"), new TableField[] { LinkUserApplicationUserApplicationUpdateRole.LINK_USER_APPLICATION_USER_APPLICATION_UPDATE_ROLE.USER_APPLICATION_LIST_ID }, Keys.PK_USER_APPLICATION_LIST, new TableField[] { UserApplicationList.USER_APPLICATION_LIST.USER_APPLICATION_LIST_ID }, true);
}
