0

我们正在开发一个使用数据库优先模型的项目。

在项目开始时,我们决定使用中央数据库,所有开发人员都在使用这个数据库。

但是在项目的中间,开发人员决定使用自己的数据库,他们正在将数据库克隆到他们的本地服务器。因此,他们在本地使用和更改,但是将数据库更改迁移到集中式数据库非常困难,我们正在手动完成。

有没有一种好方法来管理对集中式数据库的数据库更改?

4

1 回答 1

2

但是将数据库更改迁移到集中式数据库非常困难,我们是手工完成的。

你从来没有想过这不会扩展?我们运行一个 4 人的团队,现在有 9 个环境 - 手动完成是不可能的。最重要的是,您会犯错误,如果这些错误发生在生产部署期间,那就太糟糕了。

也就是说,这是一个像 50 年前一样解决的问题。从历史中学习。这是我们的方法:

  • 数据库更改脚本。
  • 在以 sprint 编号的文件夹中

每个 db tracknig 中都有一个表 SchemaSync 执行脚本和校验和

丢失/更改的脚本在部署期间执行或通过 powershell cmdlet 手动(从 zip 文件)执行。

这确实是一种早于 SSDT 和迁移的标准解决方案,而且可能比您年龄更大。甚至还有开源实现https://github.com/DbUp/DbUp和商业库(其中一个实际上在 VISUAL STUDIO 中,因此您可以尝试一下)https://www.red-gate.com/products/sql -开发/sql-change-自动化/

就像唯一的出路。

SSDT:喜欢丢字段。你如何处理数据库迁移?可能有多个步骤?不可能。SSDT 更改脚本的想法对数据移动一无所知。如果您曾经进行过更大的重构(我碰巧做了很多),那么您就会知道有时它不是“创建新字段”,而是一些部分运行复杂代码的步骤。SSDT 完全无法应付。

于 2018-07-21T12:37:30.333 回答