【发布时间】:2014-05-20 09:48:12
【问题描述】:
我正在使用 symfony 框架开发一个 Web 应用程序。 我的数据库设计是预先存在的,不是“经典”的 - 也就是说,“hstore”和“json”的字段类型正在使用中。
到目前为止,我遇到了两个问题:
- Doctrine 不支持 PgSQL 上的 hstore 或 json 字段格式 - 我已设法更改 DBAL 驱动程序和 ORM 的供应商/准则的来源以执行此操作。
- Doctrine 也有一个 BUG(使用了最新版本的 symfony),据说在早期版本中已解决,该错误与 pg 时间戳转换回 PHP 时间戳有关,时间格式不包括微秒('u' ) 而 Pg 确实以 HH:mm:ss.uuuuuu (http://www.doctrine-project.org/jira/browse/DBAL-33) 返回它
假设我能够通过更改包的源代码来解决这些问题。
这里的问题由不同的问题和我想到的替代方案组成,我猜对其中一个问题的任何好的答案都可以。
- 如果文件由作曲家管理,我如何保持更新?
- 如果我更改了源,如何将其部署到另一个环境中?
- 是否有其他解决方案/hakcs 可以在不更改 3rd 方包的情况下解决上述问题?
- 有没有一种方法可以在作曲家中部署自定义提交(不介意分叉 DoctorineBundle)?
- 供应商安装后是否有“修补”源的好方法? (也许以某种方式使用安装后脚本)
我希望(但对此表示怀疑)我可以从 composer.json 中删除对相应包的要求,并将新的 vendor/ 文件与我的 src/ 一起保留,但这不是我正在寻找的解决方案。
注意我不熟悉使用 composer 进行所有此类依赖和包导入/管理。
【问题讨论】:
-
当然,另一种选择是尝试不同的 ORM,我也会尝试。
-
找到相关问题,也有一些有用的答案stackoverflow.com/questions/7738767/…
标签: symfony doctrine-orm composer-php packages require