Download the PHP package orkhanahmadov/content-migrations without Composer
On this page you can find all versions of the php package orkhanahmadov/content-migrations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download orkhanahmadov/content-migrations
More information about orkhanahmadov/content-migrations
Files in orkhanahmadov/content-migrations
Package content-migrations
Short Description Content migrations package for Laravel
License MIT
Homepage https://github.com/orkhanahmadov/content-migrations
Informations about the package content-migrations
Laravel Content Migrations
Package simplifies having content-based migrations separate from Laravel's migrations.
Why?
Sometimes using migrations to manage content in database tables comes very handy to automate the content update process on all environments. Like adding new translations or updating products.
But using Laravel's own migrations for this purpose have some drawback:
- Laravel's migrations are not meant for content management, it is meant for database structure changes only.
- After some time it gets hard to manage and find content-based migrations among many migration files.
- Recent introduction of "migration squashing" in Laravel 8 copies only last state of database structure. This means if you have content-based migrations you need to find a way to migrate them again if you have an empty database.
Laravel seeders are ideal for managing content in your database, but they also have their drawbacks:
- They are not as automatic as migrations, you need to run and track each of them individually
- If you have an empty datatabase it becomes hard, almost impossible to know the order of seeders to run
This package aims to solve these problems by having dedicated content-based migrations separate from usual Laravel migrations.
Requirements
- PHP 7.2 or above
- Laravel 6 or above
Installation
You can install the package via composer:
Usage
To create content-based migration run make:content-migration
artisan command and pass migration name:
This will command will generate timestamp-based content migration inside database/content-migrations
folder of your application.
Generated migration will have single up()
method, you can use this method to insert/update/delete content in your database.
To migrate your content-based migrations, run:
This will behave the same way as Laravel's own php artisan migrate
command, but this command will track processed migrations in content_migrations
table, separate from Laravel's migrations
table.
Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- Orkhan Ahmadov
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of content-migrations with dependencies
illuminate/contracts Version ^6.0|^7.0|^8.0
illuminate/database Version ^6.0|^7.0|^8.0
illuminate/support Version ^6.0|^7.0|^8.0