
Custom Fresh
customfreshie.com
为无需重置的表创建例外
昨天制作者:Mahmoud Ramadan
关于 Custom Fresh
Custom Fresh 是一个专为 Laravel 开发者设计的数据库迁移管理工具,它允许你在执行 migrate:fresh 命令时,灵活地保留特定表不被删除,从而避免重复创建或数据丢失的烦恼。
核心功能
通过新增的 --database、--keep 和 --explain 选项,你可以精确控制哪些表需要保留。--keep 选项支持 glob 模式匹配表名,让你能够批量指定例外表。此外,Custom Fresh 还引入了发布式配置支持和生命周期事件,方便你集成到现有工作流中。
主要特性
- 灵活的表例外机制:使用
--keep选项配合 glob 模式,轻松保留一组表,例如--keep="cache_*"。 - 增强的迁移发现:改进了迁移文件扫描逻辑,避免遗漏或重复执行。
- 智能变更检测:更准确地识别 alter 迁移,减少不必要的操作。
- 性能优化:避免在每次 Artisan 调用时引导数据库,大幅提升整体响应速度。
- 安全可靠:通过
--explain选项预览即将执行的操作,防止误删重要数据。
适用场景
Custom Fresh 特别适合以下情况:
- 在开发或测试环境中,需要频繁重置数据库,但希望保留用户会话、配置缓存等表。
- 团队协作时,需要确保某些共享数据表(如权限表)不被意外清空。
- 使用第三方包(如 Spatie 权限包)时,避免每次 fresh 后重新填充种子数据。
无论是日常开发还是 CI/CD 流程,Custom Fresh 都能让你更安全、更高效地管理数据库迁移。