【发布时间】:2011-07-12 15:31:56
【问题描述】:
我们目前正在使用 Phing 进行部署,并使用 dbdeploy 应用任何数据库更改。但是,有时我们希望在部署期间进行一些更改,这些更改可以更好地由我们的对象模型处理,因此我们编写了一次使用 PHP 脚本,在部署后手动运行。
是否有任何类似于 dbdeploy 的现有解决方案可以处理正在运行的脚本,更重要的是,跟踪哪些已经运行,以便每个脚本只运行一次?
【问题讨论】:
标签: php deployment phing
我们目前正在使用 Phing 进行部署,并使用 dbdeploy 应用任何数据库更改。但是,有时我们希望在部署期间进行一些更改,这些更改可以更好地由我们的对象模型处理,因此我们编写了一次使用 PHP 脚本,在部署后手动运行。
是否有任何类似于 dbdeploy 的现有解决方案可以处理正在运行的脚本,更重要的是,跟踪哪些已经运行,以便每个脚本只运行一次?
【问题讨论】:
标签: php deployment phing
我认为这对其他人也可能有用。如果您想不出其他解决方案,我认为最好的解决方案是查看实现DBDeploy task 的文件,将其复制到自定义任务中,重用数据库检查功能,而不是生成 SQL 脚本执行您需要的脚本。
如果您对它感到满意,您也可以考虑将其贡献给 Phing。我相信他们会很乐意将其包含在内(请参阅Phing-How To Contribute)。
【讨论】:
怎么样:
听起来像个 hack,但 imo 很简单。
【讨论】:
我能想象到的最简单的方法可能是使用 Phing ExecTask,另请参阅 Phing User Guide (stable)。
【讨论】: