如何使用GitHub为独立的PHP项目实现自动更新?

时间:2011-09-09 15:29:37

标签: php github versioning auto-update

我的项目是使用MySQL作为数据库的PHP脚本集合,需要使用WAMP / LAMP / MAMP在本地安装。

以前我一直在向用户发送一个链接到压缩档案并让它们覆盖它,但是自从我接受了GitHub后,我意识到有更好的方法;即GitHub中的Service Hooks。但是,只要我不以任何方式改变数据库,这都可以正常工作,这是一个很好的可能性。

我一直在想我将如何实现这一点,但我找不到明确的解决方案。到目前为止,我已经得出结论,我需要有一个目录(比如update /),其中包含每个更新的.sql文件。然后,PHP脚本将检查所述目录中是否有与新版本号对应的文件(不确定我将如何定义版本号;我正在考虑使用提交ID,但是在提交之后这将不可用,所以...)。

我希望对此有所了解!

2 个答案:

答案 0 :(得分:2)

以下是我将如何解决这个问题(不是最优雅或最高效的):

  1. 在数据库中添加标记为
  2. 的标记
  3. 在数据库图层PHP文件中添加最小版本号
  4. 检查数据库版本是否大于最小版本
    • 如果是:继续关注您的业务
    • 否则:在update/中运行PHP文件,该文件将在DB服务器上运行一系列ALTER TABLE命令
      • 将数据库中的最小版本号更新为最新号码
  5. 全部完成
  6. 或者,不是查询数据库,而是可以使用由您的数据库接口PHP文件生成的文件(并使用.gitignore忽略),您可以如上所述。

答案 1 :(得分:1)

我真的建议您查看Doctrine及其migration feature

这完全符合您的要求,而且您还可以使用一个非常好的工具来处理数据库处理的所有其他方面。