query("TRUNCATE TABLE {node__field_emal_kasutaja_oigused}"); $rid_map = [ 1 => 'anonymous', 2 => 'authenticated', 3 => 'administrator', 4 => 'emal_liikmemaksud', 5 => 'emal_juhatuse_liige', 6 => 'emal_susteemi_administraator', 7 => 'emal_liige', 8 => 'emal_projektid', 9 => 'emal_raamatupidamine', 10 => 'filedepot', 11 => 'emal_kutsekomisjon', ]; $rows = $src->query( "SELECT entity_id, field_emal_kasutaja_oigused_rid FROM {field_data_field_emal_kasutaja_oigused} WHERE deleted = 0 ORDER BY entity_id, delta" ); $n = 0; $delta_by_entity = []; foreach ($rows as $r) { $rid = (int)$r->field_emal_kasutaja_oigused_rid; if (!isset($rid_map[$rid])) continue; $machine = $rid_map[$rid]; $eid = (int)$r->entity_id; if (!isset($delta_by_entity[$eid])) $delta_by_entity[$eid] = 0; $delta = $delta_by_entity[$eid]++; // Skip anonymous/authenticated/administrator (pole sisulised "õigused", // aga D7 referenceeris neid — jätame alles kõik, et mitte kaotada infot). $dst->insert('node__field_emal_kasutaja_oigused') ->fields([ 'entity_id' => $eid, 'bundle' => 'emal_liige', 'deleted' => 0, 'langcode' => 'et', 'delta' => $delta, 'revision_id' => $eid, 'field_emal_kasutaja_oigused_value' => $machine, ]) ->execute(); $n++; } echo "field_emal_kasutaja_oigused: $n rida\n"; echo "done\n";