我一直在研究一种获取由生成的Migration文件构建的SQL语句的方法。这些扩展了Doctrine_Migration_Base。基本上我想将SQL保存为更改脚本。
执行路径将我引导到Doctrine_Export,它具有构建SQL语句并执行它们的方法。我发现没有办法要求他们。 Doctrine_Export中的导出方法仅在Doctrine_Record模型上运行,而不是在迁移脚本上运行。
从命令行'./doctrine migrate version#'开始路径:
以前有人解决过这个问题吗?我真的不想改变Doctrine基础文件。非常感谢任何帮助。
答案 0 :(得分:0)
您是否可以创建一个开发服务器,然后对其进行迁移,随时存储SQL跟踪?您不必保留结果,但是您将获得每个命令的列表。
答案 1 :(得分:0)
考虑到Rob Farley的建议,我修改了:
调用execute方法时,会检查可选参数'dryRun'。如果是真的 然后创建一个'Doctrine_Connection_Profiler'实例。然后传递'dryRun'值 'Doctrine_Core :: migrate'方法。 'dryRun'值为true允许更改在执行SQL语句时回滚。该方法返回时,将分析探查器和非空SQL语句 不包含'migration_version'将被保存并显示给终端。