|
@@ -0,0 +1,103 @@
|
|
|
|
|
+<?php
|
|
|
|
|
+// Täida kolm custom välja D7 andmetega (source = dr_mustikas "migrate" conn).
|
|
|
|
|
+use Drupal\Core\Database\Database;
|
|
|
|
|
+
|
|
|
|
|
+$src = Database::getConnection('default', 'migrate');
|
|
|
|
|
+$dst = Database::getConnection();
|
|
|
|
|
+
|
|
|
|
|
+// Puhasta sihttabelid (need olid tühjad või pooleldi täidetud).
|
|
|
|
|
+foreach (['node__field_nimi', 'node__field_sunnipaev', 'node__field_emal_kasutaja_oigused'] as $t) {
|
|
|
|
|
+ $dst->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";
|