我已经编写了一段时间的Web应用程序而不更改实时服务器上的任何内容,因为有一些功能可以一次添加。我发现我无法跟踪自上次更新实时服务器以来发生的变化,这让我感到恐慌,因为忘记上传文件或者没有对特定文件进行更改会破坏申请。所以我的问题是,跟踪编码环境中已经更改的内容以及实时服务器上已有的内容以便在没有用户注意的情况下进行更改的最佳做法是什么?
答案 0 :(得分:2)
在生产中使用一些存储库系统和发布模式。我的方式是:
我们按照此循环发布版本发布。
请阅读版本控制。这可能会有助http://svnbook.red-bean.com/en/1.5/index.html
在数据库#
上我们曾经在alter-script文件中进行数据库更改。每个版本一个alter-script文件。需要进入发布的所有更改,我们保留在一个alter-script中。我们曾经有一个BASELINE表来跟踪数据库的发布版本,这与生产版本相同。这有效,但有手动干预。但是在查看BASELINE表的任何给定时间,我可以知道我的数据库的状态以及已经运行了哪些文件/ alterscript。
我们现在已经转移到LiquiBase,这非常好。我可以跟踪已经遇到数据库的每个查询,更新或更改。有一个很好的回滚计划。最重要的是,学习Liquibase非常容易。
在上述任何一种情况下,SVN都会非常有效地处理修订。