SheepNav
Custom Fresh

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 都能让你更安全、更高效地管理数据库迁移。

相关工具