migrate_mustikas11.sh 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!/usr/bin/env bash
  2. # =============================================================================
  3. # mustikas Drupal 7 -> Drupal 11 migratsioon (ohmu dev)
  4. # =============================================================================
  5. # Jooksutab kogu migratsiooni algusest lõpuni. Käivita root õigustega:
  6. # sudo bash migrate_mustikas11.sh
  7. #
  8. # NB! Töötab AINULT ohmu serveril. Production (hetzner) jääb puutumata.
  9. # Andmebaas dr_mustikas on hetznerist sünkroonitud koopia (vt mustikas
  10. # sync_from_hetzner.sh). Selle skripti jooksutamine EI muuda hetznerit.
  11. #
  12. # "Viimaste andmete ülekandmine" (lõppsünk):
  13. # 1. Jooksuta esmalt värske sünk hetznerist:
  14. # sudo bash /opt/docker-compose/third/drupal/mustikas/sync_from_hetzner.sh
  15. # (see värskendab ohmu dr_mustikas andmebaasi + D7 failid)
  16. # 2. Jooksuta see skript, et uus sisu D11-sse migreerida:
  17. # sudo bash /opt/docker-compose/third/drupal/mustikas11/migrate_mustikas11.sh
  18. # =============================================================================
  19. set -euo pipefail
  20. C="drupal_mustikas11"
  21. DRUSH="php -d memory_limit=1024M /opt/drupal/vendor/drush/drush/drush.php"
  22. echo "=== $(date): Alustan D7->D11 migratsiooni ==="
  23. # ── 0. Pre-migratsiooni parandused (source DB andmevead) ──
  24. echo "[0/5] Pre-migratsiooni parandused (source DB) ..."
  25. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_er_sort.php"
  26. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_text_maxlength.php"
  27. echo " parandused tehtud."
  28. # ── 1. Migratsiooni konfiguratsiooni loomine ──
  29. echo "[1/5] Migratsiooni konfiguratsioon ..."
  30. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH migrate-upgrade --configure-only \
  31. --legacy-db-url=mysql://root:ai_root_pass_2026@mariadb/dr_mustikas \
  32. --legacy-root=https://mustikas.maastikuarhitekt.ee -y"
  33. echo " konfiguratsioon loodud."
  34. # ── 2. Esmane import (dependencies) ──
  35. echo "[2/5] Esmane import (group migrate_drupal_7) ..."
  36. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH migrate:import \
  37. --group=migrate_drupal_7 --continue-on-failure -y" || true
  38. # ── 3. Puuduvad custom field storage'id ──
  39. echo "[3/5] Custom field storage'id ..."
  40. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_fields.php"
  41. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_fields2.php"
  42. # ── 4. Sisumigratsioonid (rollback + re-import, et parandused kehtiksid) ──
  43. echo "[4/5] Sisu migratsioon ..."
  44. for m in \
  45. upgrade_d7_field \
  46. upgrade_d7_field_instance \
  47. upgrade_d7_node_complete_kanne \
  48. upgrade_d7_node_complete_emal_liige \
  49. upgrade_d7_node_complete_projekt \
  50. upgrade_d7_node_complete_book \
  51. upgrade_d7_node_complete_page \
  52. upgrade_d7_node_complete_php \
  53. upgrade_d7_node_complete_filedepot_folder \
  54. upgrade_d7_url_alias \
  55. upgrade_d7_user \
  56. upgrade_d7_file \
  57. upgrade_d7_menu \
  58. upgrade_d7_menu_links; do
  59. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH migrate:rollback $m -y" || true
  60. done
  61. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_fields.php"
  62. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH scr /tmp/fix_fields2.php"
  63. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH migrate:import \
  64. --group=migrate_drupal_7 --continue-on-failure -y" || true
  65. # ── 5. Puhver + kokkuvõte ──
  66. echo "[5/5] Puhvri tühjendamine + kokkuvõte ..."
  67. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH cache:rebuild" || true
  68. echo ""
  69. echo "=== $(date): Migratsioon valmis ==="
  70. echo "Kontroll:"
  71. echo " docker exec mariadb mariadb -u root -pai_root_pass_2026 -N -e \\"
  72. echo " 'SELECT COUNT(*) FROM dr_mustikas11.node_field_data;'"
  73. echo " (peaks olema 8277)"
  74. echo " https://ohmu.tail20e23.ts.net:8010/"