truncate($t)->execute(); } // ── 1. field_nimi: "given family" string ── $rows = $src->query( "SELECT entity_id, field_nimi_given, field_nimi_family FROM {field_data_field_nimi} WHERE deleted = 0" ); $n = 0; foreach ($rows as $r) { $given = trim($r->field_nimi_given ?? ''); $family = trim($r->field_nimi_family ?? ''); $value = trim($given . ' ' . $family); if ($value === '') continue; $dst->insert('node__field_nimi') ->fields([ 'entity_id' => $r->entity_id, 'bundle' => 'emal_liige', 'deleted' => 0, 'langcode' => 'et', 'delta' => 0, 'revision_id' => $r->entity_id, 'field_nimi_value' => $value, ]) ->execute(); $n++; } echo "field_nimi: $n\n"; // ── 2. field_sunnipaev: day/month/year -> Y-m-d ── $rows = $src->query( "SELECT entity_id, field_sunnipaev_day, field_sunnipaev_month, field_sunnipaev_year FROM {field_data_field_sunnipaev} WHERE deleted = 0" ); $n = 0; foreach ($rows as $r) { $day = (int)$r->field_sunnipaev_day; $month = (int)$r->field_sunnipaev_month; $year = (int)$r->field_sunnipaev_year; if ($year < 1000 || $month < 1 || $month > 12 || $day < 1 || $day > 31) continue; $date = sprintf('%04d-%02d-%02d', $year, $month, $day); $dst->insert('node__field_sunnipaev') ->fields([ 'entity_id' => $r->entity_id, 'bundle' => 'emal_liige', 'deleted' => 0, 'langcode' => 'et', 'delta' => 0, 'revision_id' => $r->entity_id, 'field_sunnipaev_value' => $date, ]) ->execute(); $n++; } echo "field_sunnipaev: $n\n"; // ── 3. field_emal_kasutaja_oigused: rid -> masinnimi ── $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" ); $n = 0; $seen = []; foreach ($rows as $r) { $rid = (int)$r->field_emal_kasutaja_oigused_rid; if (!isset($rid_map[$rid])) continue; $machine = $rid_map[$rid]; $key = $r->entity_id . ':' . $machine; if (isset($seen[$key])) continue; $seen[$key] = TRUE; $dst->insert('node__field_emal_kasutaja_oigused') ->fields([ 'entity_id' => $r->entity_id, 'bundle' => 'emal_liige', 'deleted' => 0, 'langcode' => 'et', 'delta' => 0, 'revision_id' => $r->entity_id, 'field_emal_kasutaja_oigused_value' => $machine, ]) ->execute(); $n++; } echo "field_emal_kasutaja_oigused: $n\n"; echo "done\n";