Delimiter //
Drop Procedure if exists LOADER_CREATE_TABLE_EDMINDEX//
Create Procedure LOADER_CREATE_TABLE_EDMINDEX ()
Begin
    Drop Table If Exists LOADER_EDMINDEX;
    
    Create Table LOADER_EDMINDEX (
        ID_LOADER_EDMINDEX Int Unsigned Not Null Auto_increment
        -- champs pour le traitements de l'import
        , LOADER_STATUS_ID_LOADER_STATUS Int Unsigned Not Null
        , LOADER_EDMINDEX_TYPE Varchar(20) Not Null
        -- champ de références
        , ACCOUNTS_REF Varchar(45) Null -- reference du compte. fourni par le fichier
        , ACCOUNTS_ID_ACCOUNTS Int Unsigned Null -- id du compte issu normalisation

        , ENTRIES_ACC_EXT_REF Varchar(45) Null -- référence de l'écriture, fourni par le fichier
        , ENTRIES_REF Varchar(60) Null -- référence de l'écriture, fourni par le fichier
--         , ENTRIES_ID_ENTRIES Int Unsigned Null -- id de l'écriture, issu de la normalisation

        , ID_DOCUMENTS Int Unsigned Null -- id du document, issu de la normalisation
        , ID_DOCUMENTS_NEW Int Unsigned Null
        , DF_MIME_TYPES_ID_DF_MIME_TYPES Int Unsigned Null
		, DF_MIME_TYPES_CSS  Varchar(20) Null
		, DF_MIME_TYPES_LABEL  Varchar(120) Null
        , DOCUMENTS_NAME Varchar(255) Not Null
        , DOCUMENTS_TITLE Varchar(255) Null
        , DOCUMENTS_SIZE Int Null
        -- l'import EDMINDEX est une indexation. Il 'nimport pas le contenu du ducment (stocké ailleurs)
        -- on n'a pas besoin d'une donnée de type LARGE OBJECT ici
        -- car on n'aura dans cette import que l'identifiant ou le chemin du document 
--         , DOCUMENTS_DATA mediumtext Not Null
        , DOCUMENTS_DATA varchar(4000) Not Null

        , DOCUMENTS_DATE DATETIME Null

        , DOCUMENTS_NET_TRANSFERT_ADAPTER Varchar(255) Null
        , DOCUMENTS_KEYWORD1 Varchar(15) Null -- mot clé pour les documents attachés
        , DOCUMENTS_KEYWORD2 Varchar(15) Null -- mot clé pour les documents attachés
        , DOCUMENTS_KEYWORD3 Varchar(15) Null -- mot clé pour les documents attachés

        -- #8865 meta info liés aux documents
        -- 3 meta informaitons
        , DOCUMENTS_METADATA_KEY1 VARCHAR(35) NULL
        , DOCUMENTS_METADATA_INT1 INT(11) NULL 
        , DOCUMENTS_METADATA_EXTID1 INT(10) UNSIGNED NULL 
        , DOCUMENTS_METADATA_DATE1 DATETIME NULL 
        , DOCUMENTS_METADATA_DECIMAL1 DECIMAL(19,4) NULL 
        , DOCUMENTS_METADATA_REF1 VARCHAR(35) NULL 
        , DOCUMENTS_METADATA_CONTENT1 VARCHAR(255) NULL 

        , DOCUMENTS_METADATA_KEY2 VARCHAR(35) NULL
        , DOCUMENTS_METADATA_INT2 INT(11) NULL 
        , DOCUMENTS_METADATA_EXTID2 INT(10) UNSIGNED NULL 
        , DOCUMENTS_METADATA_DATE2 DATETIME NULL 
        , DOCUMENTS_METADATA_DECIMAL2 DECIMAL(19,4) NULL 
        , DOCUMENTS_METADATA_REF2 VARCHAR(35) NULL 
        , DOCUMENTS_METADATA_CONTENT2 VARCHAR(255) NULL 

        , DOCUMENTS_METADATA_KEY3 VARCHAR(35) NULL
        , DOCUMENTS_METADATA_INT3 INT(11) NULL 
        , DOCUMENTS_METADATA_EXTID3 INT(10) UNSIGNED NULL 
        , DOCUMENTS_METADATA_DATE3 DATETIME NULL 
        , DOCUMENTS_METADATA_DECIMAL3 DECIMAL(19,4) NULL 
        , DOCUMENTS_METADATA_REF3 VARCHAR(35) NULL 
        , DOCUMENTS_METADATA_CONTENT3 VARCHAR(255) NULL 

--         , ID_DOCUMENTS_NEW Int Unsigned Null

        -- contraintes et indexes
        , Primary Key (ID_LOADER_EDMINDEX)
        , Index (LOADER_STATUS_ID_LOADER_STATUS)
        , Index (ACCOUNTS_ID_ACCOUNTS)
        , Index (ACCOUNTS_REF)
        , Index (ENTRIES_ACC_EXT_REF)
        , Index (ENTRIES_REF)
--         , Index (ENTRIES_ID_ENTRIES)
        , Index (ID_DOCUMENTS)
        , Index (LOADER_EDMINDEX_TYPE)

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