jldev/ibexa-enhanced-migrations

Additional features that improve the native ibexa migrations bundle.

Installs: 181

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/jldev/ibexa-enhanced-migrations

1.0.2 2025-09-01 21:55 UTC

This package is auto-updated.

Last update: 2025-12-31 00:28:48 UTC


README

This bundle provides additional migration features to the native Ibexa DXP migrations bundle (available in ibexa content, ibexa experience and ibexa commerce). It is compatible with Ibexa 4.x and 5.x.

Installation

composer require jldev/ibexa-enhanced-migrations:^1.0.0

Make sure the bundle is enabled in your config/bundles.php file:

    JL\IbexaEnhancedMigrations\IbexaEnhancedMigrationsBundle::class => ['all' => true],

Features

Custom functions that can be used in migration files (official documentation):

  • content_id_from_content_remote_id("remote_id") : load a content by remote id and return its id
  • location_id_from_content_remote_id("remote_id") : load a content by remote id and return its main location id
  • location_path_string_from_content_remote_id("remote_id") : load a content by remote id and return its main location path string
  • content_id_from_location_remote_id("remote_id") : load a location by remote id and return its content id
  • location_id_from_location_remote_id("remote_id") : load a location by remote id and return its location id
  • location_path_string_from_location_remote_id("remote_id") : load a location by remote id and return its path string
  • section_id_from_section_identifier("section_identifier") : load a section by identifier and return its id

Example of usage in a migration file:

-
    type: role
    mode: update
    match:
        field: identifier
        value: 'Anonymous'
    policies:
        mode: append
        list:
            -
                module: content
                function: read
                limitations:
                    - { identifier: Node, values: [ '###XXX location_id_from_content_remote_id("my_remote_id") XXX###' ] }