我正在一家公司每年都要进行多次发布生产,并且在构建每个发行版期间,我们收集了1次SQL安装脚本(如表创建和数据端口)的集合。如何管理你的运行一旦sql安装脚本在颠覆?
目前工作的方式是,在发布到产品之后,我们分支,标记,然后从subversion中删除所有1次脚本。
这似乎使工作完成,但对我来说,它似乎从来没有像解决问题的正确方法。
你能想象一下,在每个版本中删除所有源代码,然后编写用于生产的补丁程序吗?
我看到的缺点是,如果你想引用旧脚本,你必须从subversion检出一个标签或分支。
我们SVN回购目前看起来是这样的
svnrepo/mywebsite/src目录 svnrepo/mywebsite /数据库/ storedprocs svnrepo/mywebsite /数据库/ installscripts
我在想,一个更准确的方法模型我们想在SVN中做什么是以下。
使用svn:externals属性指向最新版本。然后,每次发布后,只需将其指向最新版本即可。
svnrepo/mywebsite /中继/ SRC/ svnrepo/mywebsite /中继/ SRC /数据库/ installscripts/ - > svnrepo/mywebsite /中继/数据库/ Release_3
svnrepo/mywebsite /中继/数据库/ RELEASE_1 svnrepo/mywebsite /主干/数据库/ Release_2 svnrepo/mywebsite /主干/数据库/ Release_3
使用这个模型,我们不再SVN删除任何SQL脚本,使数据库开发人员能够检查出svnrepo/mywebsite /主干/数据库/并轻松查看所有发生的数据库开发。
对我的想法,当前结构或管理这种情况的最佳方式有何评论?
感谢