5

我们目前使用 Phing 进行部署,并使用 dbdeploy 应用任何数据库更改。但是,有时我们希望在部署期间进行一些更改,这些更改可以更好地由我们的对象模型处理,因此我们编写了一次使用 PHP 脚本,在部署后手动运行。

是否有任何类似于 dbdeploy 的现有解决方案可以处理正在运行的脚本,更重要的是,跟踪哪些已经运行,以便每个脚本只运行一次?

4

3 回答 3

1

我认为这对其他人也可能有用。如果您想不出其他解决方案,我认为最好的解决方案是查看实现DBDeploy 任务的文件,将其复制到自定义任务中,重用数据库检查功能,但不生成 SQL 脚本,而是执行脚本你需要。

如果你对它感到满意,你也可以考虑将它贡献给 Phing。我相信他们会很乐意将其包含在内(请参阅Phing-How To Contribute)。

于 2011-07-12T21:53:21.533 回答
0

怎么样:

  1. 将您的脚本放在一个文件夹中。
  2. 遍历文件夹并执行脚本。
  3. 执行后删除/移动脚本文件。

听起来像一个黑客,但这是最简单的方式。

于 2011-07-12T15:36:42.203 回答
-1

我能想象的最简单的可能是使用Phing ExecTask,另请参阅Phing User Guide (stable)

于 2011-07-12T15:37:36.080 回答