Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ibexa Migration Bundle Laravel Package

tanoconsulting/ibexa-migration-bundle

A Symfony bundle that brings versioned migrations to Ibexa DXP, letting teams package content, configuration, and schema changes as reusable migration classes and apply them consistently across environments with console commands and migration tracking.

View on GitHub
Deep Wiki
Context7

Getting Started

  • Install with Composer (composer require <vendor>/<package>), then publish the package’s config and stubs using the documented vendor:publish tag/provider.
  • Look first at the README section covering the user/create migration path, then inspect the package config and the user/create stub (or equivalent stub path) to see exactly what will be generated.
  • First use case: scaffold a users table with role support in a fresh app. Run the generator with the roles option, review the generated migration, then run php artisan migrate.
  • Before committing, verify the generated migration’s role column/table, indexes, nullable/default behavior, and down() method.

Implementation Patterns

  • Treat the generator as a development-time scaffolder: generate once, commit the migration, then maintain it like hand-written code. Avoid regenerating in production.
  • For role-enabled projects, generate the user table and its role support in the same pass. Use the package’s roles option rather than hand-adding columns so indexes and constraints stay consistent.
  • If you use an authorization package such as spatie/laravel-permission, decide early whether roles are stored in a column or a pivot table. Adapt the published stub to match that decision instead of fighting the generated schema.
  • Customize through published stubs: copy the user/create stub into your application, adjust column names/types, and point the generator at your version.
  • In CI, add a smoke test that runs the generator with the roles option and asserts the migration is created without error. This is exactly the class of regression fixed in 1.0.5.
  • Typical workflow: generate → review the diff → migrate locally → seed roles → run authentication/authorization tests.

Gotchas and Tips

  • 1.0.5 fixes a crash when roles is used with user/create migrations. If you are on 1.0.4 or earlier and generate role-enabled user tables, upgrade and regenerate or republish stubs.
  • The fix is generator/stub-level. If you previously published stubs, compare your copies with the new package stubs—published files do not update automatically.
  • Watch migration ordering: a generated users migration can collide with an existing create_users_table. Rename or remove the old migration before running php artisan migrate.
  • Do not run the generator blindly in a dirty working tree; it writes files and can overwrite or duplicate migrations.
  • Debug generator crashes with -vvv and by checking the resolved stub path. Most failures come from missing stub variables or an incompatible Laravel version.
  • Extension points are the published config, published stubs, and the generator command itself. Prefer overriding stubs over forking the package.
  • Pin the package version in composer.json for team consistency, and treat patch upgrades as a prompt to re-run the roles smoke test.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource