jldev / ibexa-enhanced-migrations
Additional features that improve the native ibexa migrations bundle.
Package info
github.com/jlecocq/ibexa-enhanced-migrations
pkg:composer/jldev/ibexa-enhanced-migrations
1.0.6
2026-08-11 16:09 UTC
Requires
- php: ^7.4 || ^8.0
- ibexa/migrations: >= 4.6.0
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###' ] }