jldev/ibexa-enhanced-migrations

Additional features that improve the native ibexa migrations bundle.

Maintainers

Package info

github.com/jlecocq/ibexa-enhanced-migrations

pkg:composer/jldev/ibexa-enhanced-migrations

Transparency log

Statistics

Installs: 329

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.6 2026-08-11 16:09 UTC

This package is auto-updated.

Last update: 2026-08-11 16:13:47 UTC


README

This bundle adds 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):

Function Description
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
content_id_from_user_login("login") load a user by login and return its id
content_remote_id_from_user_login("login") load a user by login and return its content remote id
location_id_from_user_login("login") load a user by id and return its main location id
location_remote_id_from_user_login("login") load a user by id and return its main location remote id
location_remote_id_from_content_remote_id("remote_id") load a content by remote id and return its main location remote id
content_remote_id_from_location_remote_id("remote_id") load a location by remote id and return its content remote id
content_id_from_content_name("name") load a content by name and return its id (triggers an exception if name is not unique)
object_state_group_id_from_identifier("identifier") load an object state group 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###' ] }