Files
cdesai-migration/config/install/migrate_plus.migration.cdesai_profile_pages_image_files.yml
T
2022-02-15 18:44:32 +00:00

74 lines
1.6 KiB
YAML

# Migration configuration for importing image files.
id: cdesai_profile_pages_image_files
label: Import Profile Page Files
migration_group: CDESAI_MEDIA
source:
# The custom CSV source plugin will fetch the source path from configs.
# Upload source files at /admin/config/development/cdesai/migrate.
plugin: 'cdesai_migrate_csv'
source_config_key: cdesai_migrate_profile_pages_source
delimiter: ','
enclosure: '"'
header_offset: 0
constants:
DRUPAL_FILE_DIRECTORY: 'public://images/profile/'
ids:
- page
process:
uid:
plugin: default_value
default_value: 1
pseudo_destination_filename:
# Skips a row if has_images property is set to FALSE.
-
plugin: skip_on_value
equals: true
source: has_images
value: 'FALSE'
method: row
-
plugin: skip_on_empty
method: row
message: 'Cannot import image file with an empty url.'
-
plugin: callback
callable: basename
source: image_url
pseudo_destination_path:
-
plugin: concat
source:
- constants/DRUPAL_FILE_DIRECTORY
- '@pseudo_destination_filename'
uri:
-
plugin: skip_on_empty
method: process
source: image_url
-
plugin: file_copy
source:
- image_url
- '@pseudo_destination_path'
file_exists: rename
move: false
destination:
plugin: 'entity:file'
# make sure these migration execute before running current migration
migration_dependencies: null
# use forced module dependency so uninstall/reinstall works properly
dependencies:
enforced:
module:
- cdesai_migrate