Delimiter //
/*
*
*/
Drop Procedure if exists LOADER_CREATE_TABLE_ATTACHEDMEMBERS//
Create Procedure LOADER_CREATE_TABLE_ATTACHEDMEMBERS ()
Begin
    Drop Table If Exists LOADER_ATTACHEDMEMBERS;
    
    Create Table LOADER_ATTACHEDMEMBERS (
        ID_LOADER_ATTACHEDMEMBERS Int Unsigned Not Null Auto_increment Primary Key
        -- champs pour le traitements de l'import
        , LOADER_STATUS_ID_LOADER_STATUS Int Unsigned Not Null
        -- champ de références
        , MEMBERS_LOGIN Varchar(30) Null
        , ID_MEMBERS Int Unsigned Null -- id du membre existant. Issu de la normalisation

		, CONTACTS_REF VARCHAR(40) Null -- not null
--         , ID_CONTACTS Int Unsigned Null -- id du contact issu normalisation.
--         -- id contact inutil pour le moment

        -- champ de références
        , ACCOUNTS_REF Varchar(40) Null -- reference du compte. fourni par le fichier
        , ACCOUNTS_ID_ACCOUNTS Int Unsigned Null -- id du compte issu normalisation

        -- ne mapper que les 20 char, car un prefix sera ajouté 
        , ACCOUNTS_has_MEMBERS_REF Varchar(40) Null -- reference des règles. fourni par le fichier 

        , LOADER_ATTACHEDMEMBERS_AHMREF_AUTO SmallInt Not Null Default 0 -- normalisé. flag qui indique si la ref est auto ou fournis
        -- permet d'identifier la source de l'annouaire. purge et remplace au seuls annuaire de même ref

        -- profile
        , DF_ACCESS_PROFILES_CODE varchar(10) Null
        , DF_ACCESS_PROFILES_ID_DF_ACCESS_PROFILES Int Unsigned Null -- issu normalisation.

        , ENTITIES_ACCNTS_ATTCHD_MBRS_PRFLES_SEQUENCE smallint Null -- numéro de la sequence fourni par le fichier

        , ID_ENTITIES_ACCNTS_ATTCHD_MBRS_PRFLES Int Unsigned Null -- issu normalisation.

        , ID_ACCOUNTS_has_MEMBERS Int Unsigned Null
        , ID_ACCOUNTS_has_MEMBERS_NEW Int Unsigned Null

        -- référence d'accreditations
		, ACCRED_CODE_1 varchar(20) Null
        , ID_ENTITIES_REF_1 Int Unsigned Null -- issu normalisation
--         , ID_ENTITIES_REF_DATAS_1 Int Unsigned Not Null default 0 -- issu normalisation
        , ID_ENTITIES_REF_DATAS_1 Int Unsigned Null  -- issu normalisation

		, ACCRED_CODE_2 varchar(20) Null
        , ID_ENTITIES_REF_2 Int Unsigned Null -- issu normalisation
--         , ID_ENTITIES_REF_DATAS_2 Int Unsigned Not Null default 0 -- issu normalisation
        , ID_ENTITIES_REF_DATAS_2 Int Unsigned Null -- issu normalisation

		, ACCRED_CODE_3 varchar(20) Null
        , ID_ENTITIES_REF_3 Int Unsigned Null -- issu normalisation
--         , ID_ENTITIES_REF_DATAS_3 Int Unsigned Not Null default 0 -- issu normalisation
        , ID_ENTITIES_REF_DATAS_3 Int Unsigned Null -- issu normalisation

		, ACCRED_CODE_4 varchar(20) Null
        , ID_ENTITIES_REF_4 Int Unsigned Null -- issu normalisation
--         , ID_ENTITIES_REF_DATAS_4 Int Unsigned Not Null default 0 -- issu normalisation
        , ID_ENTITIES_REF_DATAS_4 Int Unsigned Null -- issu normalisation

		, ACCRED_CODE_5 varchar(20) Null
        , ID_ENTITIES_REF_5 Int Unsigned Null -- issu normalisation
--         , ID_ENTITIES_REF_DATAS_5 Int Unsigned Not Null default 0 -- issu normalisation
        , ID_ENTITIES_REF_DATAS_5 Int Unsigned Null -- issu normalisation

        -- contraintes et indexes
        , Index (LOADER_STATUS_ID_LOADER_STATUS)
        , Index (CONTACTS_REF)
        , Index (MEMBERS_LOGIN)
        , Index (ACCOUNTS_REF)
        , Index (DF_ACCESS_PROFILES_CODE)
--         , Index (ID_ENTITIES_REF_DATAS_1)
--         , Index (ID_ENTITIES_REF_DATAS_2)
--         , Index (ID_ENTITIES_REF_DATAS_3)
--         , Index (ID_ENTITIES_REF_DATAS_4)
--         , Index (ID_ENTITIES_REF_DATAS_5)

    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
End //
Delimiter ;
call LOADER_CREATE_TABLE_ATTACHEDMEMBERS();
