![]() |
1
3
Version Control and your Database 万恶之源在于用户界面的改变。SSMS是DBA工具,而不是开发人员工具。开发人员必须使用 脚本 对数据库模型/模式进行任何类型的更改。对元数据进行版本控制,并使升级脚本从每个版本N升级到版本N+1是最重要的 这种方式被证明工作可靠。它是SQLServer自己部署的用于跟踪元数据更改(资源数据库更改)的解决方案。 比较工具,如SQL Compare或 vsdbcmd 复制 数据。。。 |
![]() |
2
4
在我们的团队中,我们处理数据库更改的方式如下:
这对我们来说相当有效,但是如果几个开发人员大量修改相同的表和视图,仍然需要一些协调。但这种情况并不经常发生。 重点是:
但是,如果您的项目有很多持久的开发分支,那么这可能不会很好地工作。 到目前为止,这还不是一个完美的解决方案,需要采取一些特别的预防措施。例如,根据数据库中存在的数据,如果存在可能失败的更新,则应在生产数据库的副本上测试更新。
|
![]() |
3
2
RedGate销售 SQL Compare ,一个生成更改脚本的优秀工具。 VisualStudio也有支持数据库比较的版本。这以前叫做 Database Edition 在我工作的地方,我们很早以前就废除了Dev/Test/UAT/Prod分离,转而使用 very quick release cycle |
![]() |
4
2
SQL Compare . 棒极了,强烈推荐。SQL Compare将允许您在两个数据库之间的模式中进行差异,甚至可以为您构建SQL更改脚本。
另一个(如果您是visualstudio商店)是visualstudio的架构和数据比较特性(不确定是哪个版本)。 |
![]() |
5
2
同意SQL Compare是一个惊人的工具。 但是,我们不会像其他代码一样对数据库结构或未在源代码管理中编写和保存的对象进行任何更改。然后,您就可以确切地知道您正在升级的版本中属于什么,因为您拥有该特定版本的脚本。 无论如何,通过GUI进行结构更改是个坏主意。如果您有大量数据,那么至少在SQLServer中,它比使用ALTERTABLE慢得多。您只需要使用经过测试的脚本来对prod进行更改。 |
![]() |
6
1
我同意marapet的评论,每一个改变都必须有脚本。
它是专门为帮助开发人员在源代码控制下获取SQLServer数据库而设计的。
玩得高兴。
|
![]() |
7
0
另一个用于数据库的“Diff”工具: |
![]() |
8
0
|
![]() |
9
0
这是我们成功使用的工作流:
|
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
Peloucvo · 用数据库中的数据填充JTable 3 年前 |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 3 年前 |
![]() |
Max J. · 用整数作为键将dict写入csv 3 年前 |