|
|
@@ -0,0 +1,102 @@
|
|
|
+# Drupal mustikas11 – D7 → D11 migratsioon (ohmu dev)
|
|
|
+
|
|
|
+Kataloog: `/opt/docker-compose/third/drupal/mustikas11/`
|
|
|
+
|
|
|
+## Mis see on
|
|
|
+
|
|
|
+Drupal 7 (mustikas.maastikuarhitekt.ee) → **Drupal 11** migratsiooni testimiskeskkond
|
|
|
+arendusserveril `ohmu`. Production (hetzner) jääb täiesti puutumata — migratsioon
|
|
|
+loeb ainult ohmu-l olevat sünkroonitud `dr_mustikas` koopiat.
|
|
|
+
|
|
|
+## Teenus
|
|
|
+
|
|
|
+| Konteiner | Pilt | Port | URL |
|
|
|
+|-----------|------|------|-----|
|
|
|
+| drupal_mustikas11 | drupal_mustikas11:latest (põhineb drupal:11) | 127.0.0.1:8010 → 80 | https://ohmu.tail20e23.ts.net:8010/ |
|
|
|
+
|
|
|
+- Andmebaas: `dr_mustikas11` (ohmu mariadb, `utf8mb4_general_ci`)
|
|
|
+- Source DB (D7 koopia): `dr_mustikas` (ohmu mariadb)
|
|
|
+- D7 failid: bind-mount `/var/lib/docker/volumes/drupal_mustikas-html/_data/sites/default/files` → `/d7-files` (read-only)
|
|
|
+- Admin: `admin` / `AdminPass2026!` (VAJA VAHTADA tootmises)
|
|
|
+
|
|
|
+## Pilt (Dockerfile)
|
|
|
+
|
|
|
+Põhineb `drupal:11` + paigaldatud:
|
|
|
+- `drush/drush`
|
|
|
+- `drupal/migrate_plus`
|
|
|
+- `drupal/migrate_tools`
|
|
|
+- `drupal/migrate_upgrade`
|
|
|
+
|
|
|
+Ehitamine: `docker compose build`
|
|
|
+
|
|
|
+## Migratsiooni jooksutamine
|
|
|
+
|
|
|
+```bash
|
|
|
+# Täismigratsioon (ka lõppsünk):
|
|
|
+sudo bash /opt/docker-compose/third/drupal/mustikas11/migrate_mustikas11.sh
|
|
|
+```
|
|
|
+
|
|
|
+Drush otse (NB! mälu limiit):
|
|
|
+```bash
|
|
|
+docker exec drupal_mustikas11 sh -c "cd /opt/drupal && php -d memory_limit=1024M /opt/drupal/vendor/drush/drush/drush.php <cmd>"
|
|
|
+```
|
|
|
+
|
|
|
+## Migratsiooni tulemus (seis 2026-08-26)
|
|
|
+
|
|
|
+| Sisutüüp | D7 | D11 | Staatus |
|
|
|
+|----------|-----|------|---------|
|
|
|
+| kanne | 7792 | 7792 | 100% ✓ |
|
|
|
+| emal_liige | 153 | 153 | 100% ✓ |
|
|
|
+| projekt | 174 | 174 | 100% ✓ |
|
|
|
+| filedepot_folder | 141 | 141 | 100% ✓ |
|
|
|
+| book | 9 | 9 | 100% ✓ |
|
|
|
+| page | 5 | 5 | 100% ✓ |
|
|
|
+| php | 3 | 3 | 100% ✓ |
|
|
|
+| **Kokku node** | **8277** | **8277** | **100% ✓** |
|
|
|
+| kasutajad | 153 | 153 | ✓ |
|
|
|
+| taxonomy terminid | 108 | 108 | ✓ |
|
|
|
+| failid | 2675 | 854 (public) | osaline (private jäi) |
|
|
|
+| URL aliased | 11147 | ~11000 | ✓ |
|
|
|
+
|
|
|
+## Teadaolevad probleemid / edasiarendus
|
|
|
+
|
|
|
+1. **body "plain text" väli** – D7 body on konfigureeritud plain_text-iga, migrate
|
|
|
+ ei too seda üle (teadaolev Drupal issue). Mõjutab book/page/article/phpi sisu teksti.
|
|
|
+2. **Custom väljad** (`field_nimi`, `field_isikukood`, `field_emal_kasutaja_oigused`,
|
|
|
+ `field_sunnipaev`) – D7 custom moodulitest (`name`, `est_id_code_field`,
|
|
|
+ `rolereference`, `birthdays_date`). Vajavad kohandatud migratsioonipluginaid.
|
|
|
+ Praegu loon neile lihtsustatud storaged (string/datetime) — andmed ei tule
|
|
|
+ automaatselt üle, aga emal_liige node'id ise migreeruvad.
|
|
|
+3. **Panels / Rules / Features / Views** – EI migreeru automaatselt. Vajavad
|
|
|
+ käsitsi uuesti ehitamist (sama nagu kõik D7→D8+ migratsioonid).
|
|
|
+4. **Teemad** (metro, rainbow) – PHPTemplate → Twig täisümberkirjutus. Praegu
|
|
|
+ kasutusel vaikimisi Olivero.
|
|
|
+5. **Failid private** – private files (filedepot, backup_migrate) ei migreeru
|
|
|
+ public files stream'i.
|
|
|
+6. **Parool & turve** – admin parool on ajutine, SMTP/keys jne tuleb seadistada.
|
|
|
+
|
|
|
+## Eeltingimused enne tootmist
|
|
|
+
|
|
|
+- [ ] Kõik custom moodulid (cpn, est_id_code jne) portida D11 jaoks
|
|
|
+- [ ] Teemad ümber kirjutada (Twig)
|
|
|
+- [ ] Panels/Views/Rules uuesti ehitada
|
|
|
+- [ ] i18n/entity_translation täiendav migratsioon
|
|
|
+- [ ] Turvaseaded (paroolid, SMTP, SSL)
|
|
|
+
|
|
|
+## Lõppsünk (viimaste andmete ülekandmine)
|
|
|
+
|
|
|
+1. Värskenda D7 koopia hetznerist:
|
|
|
+ `sudo bash /opt/docker-compose/third/drupal/mustikas/sync_from_hetzner.sh`
|
|
|
+2. Jooksuta täismigratsioon:
|
|
|
+ `sudo bash /opt/docker-compose/third/drupal/mustikas11/migrate_mustikas11.sh`
|
|
|
+3. Kui kõik ok → vaheta prod DNS / traefik uuele saidile.
|
|
|
+
|
|
|
+## Abiskriptid (konteineris /tmp/)
|
|
|
+
|
|
|
+- `fix_fields.php` – loob puuduvad custom field storage'id (string/datetime)
|
|
|
+- `fix_fields2.php` – loob datetime_range → daterange storage'id
|
|
|
+- `fix_er_sort.php` – parandab entityreference `sort` puuduva võtme (source DB)
|
|
|
+- `fix_text_maxlength.php` – tõstab liiga lühikese `text` välja max_length=255 (source DB)
|
|
|
+- `del_kirjeldus.php` – kustutab field_kirjeldus config'i (vajadusel)
|
|
|
+
|
|
|
+Need on ka `/tmp/opencode/` kohalikus Dropboxis (kust sai scp).
|