FulePHP 是一个 HMVC 框架,它允许“模块”拥有自己的 MVC 结构。该框架还提供了一个名为“迁移”的便捷工具,它以优雅的方式解决数据库和代码版本冲突(在开发期间)。
但是,迁移工具是应用程序方面的。不支持包 DB Schemae & Fixtures 的管理。
我想出了这些替代解决方案:
- 构建和测试每个模块作为 FuelPHP 项目的依赖项,以便“迁移”可以独占使用。需要大量配置,具有严格的环境(开发/生产)分支策略。
- 更新或安装模块后,扫描“APPPATH/modules/[mod_name]/migrations”中的文件并将其链接到“migrations”。
- 传统方式:手动维护数据库模式和夹具的 sql 文件,如果在运行时未找到表则加载。
结合解决方案 1 和 2 似乎是合理的,但需要大量的工作。是否有一些优雅的方法可以做到这一点,或者将迁移支持移植到模块?
提前致谢。
** 编辑,“模块”应该是我正在寻找的地方,而不是“包”
简而言之,我想让我的模块目录看起来像:
- 班级
- 控制器
- 模型
- 看法
- 配置
- 迁移
- 郎
- 意见