Problem/Motivation
Per #2533886: [meta] Move module-specific migration support into the particular modules supported, move support for file migration into the file module.
Proposed resolution
For the most part, this is a matter of moving files around and updating namespaces. Also, explicit destination module dependencies can be removed.
Migration templates to be moved:
- d6_file
- d6_file_settings
- d6_upload
- d6_upload_entity_display
- d6_upload_entity_form_display
- d6_upload_field
- d6_upload_field_instance
Remaining tasks
Submit a patch.
User interface changes
N/A
API changes
Namespaces of affected migration plugins will change.
Data model changes
N/A
| Comment | File | Size | Author |
|---|---|---|---|
| #24 | 2534012-24.patch | 19.14 KB | hussainweb |
| #24 | interdiff-22-24.txt | 577 bytes | hussainweb |
| #22 | 2534012-22.patch | 18.89 KB | hussainweb |
| #22 | interdiff-20-22.txt | 1.77 KB | hussainweb |
Comments
Comment #1
phenaproximaComment #2
phenaproximaComment #4
phenaproximaBlocked by #2534158: MigrateFullDrupalTestBase must use dynamic test discovery.
Comment #5
phenaproximaMoved the tests into the Drupal\file\Tests\Migrate namespace, and moved all upload-related stuff into File.
Comment #6
phenaproximaUnblocked.
Comment #8
phenaproximaFixed a few incorrect namespaces.
Comment #10
phenaproximaThis is what happens when you have to do mind-numbing re-rolls of like 10 different patches...you miss things.
Comment #11
mikeryanLooks good to me.
Comment #12
mikeryanAfter applying all the move patches, I think the following still need to be moved to the file module:
Comment #13
mikeryanAnd let's not forget the d6 Upload and UploadInstance source plugins...
Comment #14
phenaproximaThe things: they are moved.
Comment #16
phenaproximaThis is blocked by #2534042: Move module-specific migration support into the user module.
The reason is that, with the entity:file destination plugin's schema moved into the File module, File needs to be enabled for any migration test which installs migrations that have a file destination. Currently, Migrate Drupal -- which is always enabled for migration tests -- contains the d6_user_picture_file migration, which has a file destination. However, many tests do not have any need to enable File (such as Contact's migration tests, which have been committed), so when they call installMigrations(), migrations like d6_user_picture_file are installed, causing exceptions and failing the tests because File itself is not installed.
The solution here is that the offending migrations must be moved out of Migrate Drupal before this can proceed.
Comment #17
phenaproximaUnblocked.
Comment #20
phenaproximaRe-rolled without moving the entity:file destination schema into File, because that breaks tests. The solution is for migration tests to install only the migrations they need to run, rather than all of them. But that needs to be a follow-up issue once this one is committed.
Comment #22
hussainwebAttempting to fix the failure. I also found a .rej file possibly from the reroll. I removed the file. Everything in interdiff.
Comment #24
hussainwebFixing the failure.
Comment #25
mikeryanComment #27
webchickBEGONE!
Committed and pushed to 8.0.x. Yaaaayyyy!