zedisdog/laravel-schema-extend
Extend Laravel's schema builder with extra column types and helpers, making it easy to define database structures the framework doesn't support out of the box. Add custom columns to migrations and keep your schema expressive.
Blueprint doesn’t expose natively — column comments, AFTER positioning, collation, fulltext indexes, unsigned/signed toggles — this package lets engineers express those changes in idiomatic migration code instead of raw DB::statement() calls.MigrationHelper trait or a scattered set of raw-SQL conventions with a small, testable dependency. The PM trade-off is dependency surface vs. a homegrown utility that only one engineer understands.Adopt when:
comment() and JSON support).AFTER, COMMENT, and fulltext semantics are meaningful.DB::statement() blocks.Look elsewhere or decline when:
Mitigations if adopted: pin the version, vendor/fork it, write a thin internal wrapper so it can be swapped, and add a migration-lint test in CI.
For executives (one paragraph): This is a small, free, open-source add-on that makes our database migrations more expressive — letting engineers declare things like column comments, column ordering, and index types directly in code instead of hand-written SQL. The business value is faster, cleaner delivery on projects that inherit or must match an existing database, plus self-documenting schemas that help operations and reporting. There is no license cost, but adoption is low and the project is maintained by a single author, so I recommend using it narrowly — behind a thin internal wrapper — rather than as a platform standard, and clearing the license with legal first.
For engineering (summary): It extends Laravel’s Blueprint with extra column modifiers and index helpers (comments, AFTER positioning, collation, fulltext, etc.) so migrations stay declarative and reviewable. It’s a thin wrapper over the framework base class, so the exit cost is low — but treat it as a convenience, not a contract: pin the version, avoid depending on undocumented methods, prefer native Laravel syntax wherever it already exists, and keep raw-SQL fallbacks in mind for portability. Add a CI check that migrations still run on a clean database so a stale dependency can’t silently break setup.
How can I help you explore Laravel packages today?