Download the PHP package kobaltdigital/laravel-data-migrations without Composer
On this page you can find all versions of the php package kobaltdigital/laravel-data-migrations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download kobaltdigital/laravel-data-migrations
More information about kobaltdigital/laravel-data-migrations
Files in kobaltdigital/laravel-data-migrations
Package laravel-data-migrations
Short Description Keep data migrations apart from schema migrations in Laravel
License MIT
Homepage https://github.com/kobalt-digital/laravel-data-migrations
Informations about the package laravel-data-migrations
Laravel Data Migrations
Keep data migrations (filling, fixing or purging rows) apart from schema migrations (creating and altering tables).
Data migrations live in their own folder, database/data-migrations by default, and run with the regular php artisan migrate. They share the migrations table with schema migrations and run in timestamp order, so a data migration always runs after the schema migrations it depends on. migrate:status, migrate:rollback and friends work as usual.
Installation
The service provider is auto-discovered.
Usage
Create a data migration:
This creates database/data-migrations/2026_09_30_141516_fill_zipcode_formats.php. Fill in up() and down() like any other migration and run php artisan migrate.
To keep data migrations out of php artisan migrate, set DATA_MIGRATIONS_RUN_WITH_MIGRATE=false and run them on demand:
Configuration
Publish the config file to change the defaults:
| Key | Default | Description |
|---|---|---|
folder |
data-migrations |
Folder inside database/ that holds the data migrations. Also settable with DATA_MIGRATIONS_FOLDER. |
path |
null |
Absolute path to store data migrations outside database/. Takes precedence over folder. |
run_with_migrate |
true |
Register the folder with Laravel's migrator so php artisan migrate, migrate:status and migrate:rollback include data migrations. Also settable with DATA_MIGRATIONS_RUN_WITH_MIGRATE. A published config without this key counts as false. |
stub |
null |
Absolute path to a custom stub for make:data-migration. |
Custom stub
Publish the stub to stubs/data-migration.stub and edit it:
The command uses the stub from the stub config key first, then the published stub, then the stub shipped with this package.
Moving an existing project over
If a project already loads a data migrations folder itself:
- Require this package.
- Remove the project's own
loadMigrationsFrom(database_path('data-migrations'))call andmake:data-migrationcommand. - Point
folderorpathat the existing folder if it is notdatabase/data-migrations.
Already executed data migrations stay recorded in the migrations table, so nothing runs twice. Existing migrations with named classes keep working; new ones are generated as anonymous classes, which avoids class name clashes.
Testing
License
The MIT License (MIT). See LICENSE.md.
All versions of laravel-data-migrations with dependencies
illuminate/console Version ^11.0|^12.0|^13.0
illuminate/database Version ^11.0|^12.0|^13.0
illuminate/filesystem Version ^11.0|^12.0|^13.0
illuminate/support Version ^11.0|^12.0|^13.0