<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.liquigraph.org/schema/1.0/liquigraph.xsd">
    <changeset id="PLATFORM-Fix_label_profile_roles:1" author="npatel" run-on-change="true">
        <query>
            CALL apoc.log.info("Starting  fix 204 label_profile_roles at %s", [datetime()]);
        </query>
        <query>
            CALL apoc.periodic.iterate(
                "
                    WITH 'mysql_artrelations' as url_alias,
                    '
                        SELECT 
                           vc.id, vc.auth0_user_id, 
                            LOWER(GROUP_CONCAT(DISTINCT(vr.role))) AS roles
                        FROM art_relations.vend_contact vc
                        INNER JOIN vend_contact_roles vcr ON vc.id = vcr.vend_contact_id
                        INNER JOIN vendor_roles vr ON vr.id = vcr.role_id
                        WHERE  vc.id IN  (
                            74970, 42961, 54356, 83537, 60493, 31174, 39803, 68049, 36577, 53337, 53411, 42309, 39143, 83076, 32119, 62080, 
                            54293, 52517, 31606, 82056, 67266, 32631, 70412, 71655, 71657, 55550, 52624, 60727, 46548, 63346, 63974, 33070, 
                            77234, 69201, 48074, 45943, 81984, 47588, 51946, 25868, 62941, 19834, 81555, 37794, 41771, 63976, 79833, 16802, 
                            36751, 30977, 62516, 71356, 75786, 53659, 54915, 54916, 16812, 58303, 31371, 69041, 69040, 69039, 40870, 41447, 
                            25719, 40122, 66551, 35591, 70758, 49721, 72664, 27540, 80556, 63841, 17749, 37527, 38542, 21916, 30918, 79146, 
                            37367, 52582, 20686, 20687, 20414, 38342, 82844, 53506, 36504, 54988, 82915, 61267, 54096, 19810, 82950, 68117, 
                            53363, 47594, 52778, 38378, 42822, 82063, 33735, 44557, 44558, 55328, 41164, 61037, 11748, 40241, 58004, 38528, 
                            46664, 17824, 72553, 32492, 41328, 10815, 65048, 63871, 83676, 55974, 32072, 40144, 83358, 81614, 73610, 57704, 
                            45219, 42122, 46611, 43539, 79117, 71230, 83538, 34109, 18022, 55972, 73608, 23271, 46799, 39057, 54799, 54945, 
                            40331, 30816, 19668, 36762, 15232, 51515, 42053, 13785, 50217, 36812, 66019, 16808, 57884, 60342, 83886, 46090, 
                            31898, 40209, 42080, 45656, 60054, 36055, 68692, 68690, 68689, 68691, 61124, 44403, 15634, 61109, 66290, 19368, 
                            61258, 78853, 38715, 66265, 16754, 65979, 66005, 48823, 27973, 65999, 72923, 19042, 55350, 55351, 58347, 59962, 
                            65795, 60586, 36166, 84278, 19601, 64768, 52757, 84353, 51366, 46405, 31744, 49674, 66640, 85027, 75087, 71195, 
                            47835, 60996, 13626, 41076, 14929, 84594, 84595, 32461, 40001, 81437, 76802, 49190, 84677, 71196, 12490, 16343, 
                            85307, 85398, 16216, 86044, 16131, 15731, 15077
                        )    
                        GROUP BY vc.id
                    ' as sql
                    CALL apoc.load.jdbc(url_alias, sql)
                    YIELD row
                    RETURN row
                ",
                "
                    MATCH (p:Profile { profileId: toInteger(row.id), profileType: 'LabelProfile' })
                        SET p.roles = split(row.roles, ',')
                ",
                {batchSize:1000}
            );
        </query>
        <query>
            CALL apoc.log.info("Finished fix_label_profile_roles at %s", [datetime()]);
        </query>
    </changeset>
</changelog>
