Download the PHP package ramadan/custom-fresh without Composer
On this page you can find all versions of the php package ramadan/custom-fresh. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ramadan/custom-fresh
More information about ramadan/custom-fresh
Files in ramadan/custom-fresh
Package custom-fresh
Short Description A Laravel package to specify the tables that you do not want to drop while refreshing the database.
License MIT
Homepage https://github.com/mahmoudmohamedramadan/custom-fresh
Informations about the package custom-fresh
Custom Fresh
Custom Fresh offers fine-grained control over migrations within your Laravel project, enabling you to select which tables will not be dropped when refreshing the database.
[!TIP] Always consider upgrading the package to the latest version, which is the most stable release.
- Installation
- Usage
- Refreshing migrations
- Glob patterns
- Multiple connections
- Dry run
- Configuration
- Events
- Example
- Credits
- Support me
Installation
Install the package by using Composer:
(Optional) publish the config file:
Usage
After installing the package, you will see a new fresh:custom command.
[!NOTE] Since
v1.2.0, the package scans your migration files more accurately, including nested folders, custom--pathlocations, and package migration paths registered through Laravel.
Refreshing migrations
You can exclude specific tables while refreshing the database inside your project:
The same can be expressed with the --keep option (which can be combined with the positional argument):
[!IMPORTANT] Do not forget always to use the
-hof the command to check out all supported options.
Glob patterns
Anything containing *, ?, or […] is expanded with fnmatch against the database tables, so you can preserve whole groups at once:
Multiple connections
Pass --database= to target a non-default connection. The connection is also forwarded to the migrate command:
Dry run
Use --explain to preview exactly what would happen without dropping a single table:
It prints the resolved connection, the tables that would be preserved, the tables that would be dropped, and the migration rows that would be re-inserted into the migrations table.
Configuration
Publishing the config (see above) gives you config/custom-fresh.php:
always_keep— tables that are preserved on every run, even if you don't list them on the command line.patterns— glob patterns expanded against the database on every run.confirm_in— environments where the command must ask for confirmation. Use--forceto bypass.
Events
Three events are dispatched during a run, perfect for backups, audit logs, or Slack notifications:
Ramadan\CustomFresh\Events\RefreshingDatabase— fired before any destructive work, with the resolved preserve list and migration rows.Ramadan\CustomFresh\Events\TablesDropped— fired right after the drop step, with both the preserved and dropped tables.Ramadan\CustomFresh\Events\DatabaseRefreshed— fired after the underlyingmigratefinishes successfully.
Example
Credits
Support me
License
The MIT License (MIT).
All versions of custom-fresh with dependencies
ext-pdo Version *
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^10.0|^11.0|^12.0|^13.0