Sri*_*ri7 5 sql-server-2012 sql-server-data-tools visual-studio-2015
我有一个用于SQL Server DB的Visual Studio 2015数据库项目,我可以在其中进行模式比较/数据比较,并手动将项目签入GIT.我想自动完成这个完整的模式/数据比较过程,生成脚本并将其检入GIT.有可能吗?如果是这样的话?
也许我会做这样的事情?使用EnvDTE自动化Visual Studio
小智 8
欢迎来到数据库生命周期管理(DLM)世界.这是一个非常大的话题,我会尽我所能保持尽可能短.
一般来说,你应该做的源代码控制的变化第一,然后从源头控制部署到生产数据库.这使您有机会在将代码部署到生产环境之前在dev中测试代码.它还确保生产数据库与您测试的版本一致.
有一系列的Microsoft,第三方和开源工具可以帮助您编写数据库脚本并将其导入Git(或任何其他源代码控制系统).一些最流行的是SSDT,Redgate SQL Source Control,Redgate ReadyRoll,Flyway,DBup,Liquibase和DB Maestro,但还有很多其他.
此源代码的打包和部署绝对可以自动化.对于自动化,大多数人使用自动化工具(或工具管道)(如TeamCity,TFS/VSTS,Jenkins和/或Octopus Deploy)来打包源代码并(可选)将其部署到数据库(或多个数据库).这可以在每次提交时完成,也可以在单击按钮时完成.当然,这一切的确切方式(以及它的工作原理)将取决于您使用的工具.
鉴于有这么多选项,在不知道使用哪种数据库源控制工具以及使用或不推荐使用哪种自动化工具进行构建/发布管理的情况下,不可能提供直接的逐步解决方案.这里涉及的内容也相当多,而且可以在单个SO响应中讨论.
但是,采用数据库源代码控制和自动化发布过程非常有价值,所以我鼓励你继续前进.从您的问题中可以清楚地看出,您希望改进流程.:-)
你可能最好开始看下面的一个(或者查找我上面提到的任何其他名字):
另外,您似乎有审计问题.跟踪生产中直接发生的变化,例如,当人们在不经过源代码管理的情况下进行热修复时.还有另一篇关于此主题的伟大的Phil Factor博客文章详细介绍了如何创建自己的跟踪漂移的自动化流程.但是,如果我是你,我会看看Redgate DLM仪表板.它是第三方工具,但它是免费的,为什么浪费时间重新发明轮子?
如果您希望进一步支持/培训我的公司,DLM Consultants 每周都会举办在线研讨会(与Redgate合作),您将在那里练习为SQL Server设置源代码控制,CI和发布管理流程.
| 归档时间: |
|
| 查看次数: |
2336 次 |
| 最近记录: |