migrate_mustikas11.sh 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. Failide omanik + puhver ──
  66. echo "[5/5] Failide omanik (www-data) + puhver ..."
  67. docker exec "$C" sh -c "chown -R www-data:www-data /opt/drupal/web/sites/default/files" || true
  68. docker exec "$C" sh -c "chmod -R u+rwX,g+rwX,o+rX /opt/drupal/web/sites/default/files" || true
  69. docker exec "$C" sh -c "cd /opt/drupal && $DRUSH cache:rebuild" || true
  70. echo ""
  71. echo "=== $(date): Migratsioon valmis ==="
  72. echo "Kontroll:"
  73. echo " docker exec mariadb mariadb -u root -pai_root_pass_2026 -N -e \\"
  74. echo " 'SELECT COUNT(*) FROM dr_mustikas11.node_field_data;'"
  75. echo " (peaks olema 8277)"
  76. echo " https://ohmu.tail20e23.ts.net:8010/"