This product was not featured by Product Hunt yet. It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).
Custom Fresh
Create exceptions for tables that do not need to be dropped
This release adds `--database`, `--keep`, and `--explain` options, publishable configuration support, lifecycle events, glob-pattern table retention, and safer migration handling. It also fixes migration discovery, improves alter migration detection, avoids unnecessary database bootstrapping on every Artisan call, and greatly improves overall reliability and performance. 💥
This release introduces safer database refresh workflows, improved migration handling, lifecycle events, configurable retention rules, and major internal stability improvements.
✨ Added
Added the --database= option and forwards it directly to the underlying migrate command.
Added the --keep= flag as an alias for the positional argument with glob pattern support, like:
oauth_*
cache_*
Added the --explain dry-run mode to preview actions without modifying the database.
Added a publishable custom-fresh.php configuration file supporting:
always_keep
patterns
confirm_in
Added lifecycle events:
RefreshingDatabase
TablesDropped
DatabaseRefreshed
Wrapped migrations table resets inside a foreign-key-disabled block for safer execution.
Replaced substr() usage with pathinfo() for more reliable migration name extraction.
Updated command responses to use:
Command::SUCCESS
Command::FAILURE
Improved and clarified the command argument descriptions.
🛠 Fixed
Deferred database and filesystem bootstrapping from __construct() to handle() so the package no longer connects to the database during every Artisan command execution.
Fixed migration discovery by replacing fragile filename heuristics with real Schema::* parsing.
Improved alter migration detection to capture all matching migrations correctly.
Added support for scanning nested and registered migration paths during migration discovery.
💚 This release makes Custom Fresh safer, more configurable, and significantly more reliable for complex Laravel database workflows.
No comment highlights available yet. Please check back later!
About Custom Fresh on Product Hunt
“Create exceptions for tables that do not need to be dropped”
Custom Fresh was submitted on Product Hunt and earned 5 upvotes and 1 comments, placing #57 on the daily leaderboard. This release adds `--database`, `--keep`, and `--explain` options, publishable configuration support, lifecycle events, glob-pattern table retention, and safer migration handling. It also fixes migration discovery, improves alter migration detection, avoids unnecessary database bootstrapping on every Artisan call, and greatly improves overall reliability and performance. 💥
Custom Fresh was featured in Open Source (68.4k followers), GitHub (41.2k followers) and Database (2.1k followers) on Product Hunt. Together, these topics include over 35.3k products, making this a competitive space to launch in.
Who hunted Custom Fresh?
Custom Fresh was hunted by Mahmoud Ramadan. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.
Want to see how Custom Fresh stacked up against nearby launches in real time? Check out the live launch dashboard for upvote speed charts, proximity comparisons, and more analytics.
🚀 New Custom Fresh Release
This release introduces safer database refresh workflows, improved migration handling, lifecycle events, configurable retention rules, and major internal stability improvements.
✨ Added
Added the --database= option and forwards it directly to the underlying migrate command.
Added the --keep= flag as an alias for the positional argument with glob pattern support, like:
oauth_*
cache_*
Added the --explain dry-run mode to preview actions without modifying the database.
Added a publishable custom-fresh.php configuration file supporting:
always_keep
patterns
confirm_in
Added lifecycle events:
RefreshingDatabase
TablesDropped
DatabaseRefreshed
Wrapped migrations table resets inside a foreign-key-disabled block for safer execution.
Replaced substr() usage with pathinfo() for more reliable migration name extraction.
Updated command responses to use:
Command::SUCCESS
Command::FAILURE
Improved and clarified the command argument descriptions.
🛠 Fixed
Deferred database and filesystem bootstrapping from __construct() to handle() so the package no longer connects to the database during every Artisan command execution.
Fixed migration discovery by replacing fragile filename heuristics with real Schema::* parsing.
Improved alter migration detection to capture all matching migrations correctly.
Added support for scanning nested and registered migration paths during migration discovery.
💚 This release makes Custom Fresh safer, more configurable, and significantly more reliable for complex Laravel database workflows.