我很想知道其他人使用哪些方法来跟踪对数据库所做的更改,包括表定义更改、新对象、包更改等。您是否使用带有外部版本控制系统的平面文件?触发器?其他软件?
将数据库更改从开发环境迁移到 QA 到生产环境的好方法是什么?目前我们:
问题在于它非常手动。如果开发人员忘记了,它依赖于开发人员记得附加 sql 或同行评审员捕获它。有时,最终发现问题的是测试人员或 QA 部署人员。
第二个问题是,如果两个单独的任务更改同一个数据库对象,您有时最终需要手动协调更改。这可能只是它的方式,但似乎仍然应该有一些“标记”这些问题或其他东西的自动方式。
我们的设置:我们的开发商店充满了具有丰富数据库经验的开发人员。我们的项目非常面向数据库。我们主要是一家 .NET 和 MS SQL 商店。目前我们正在使用 MS TFS 工作项来跟踪我们的工作。这对于代码更改非常方便,因为它将更改集链接到工作项,因此我可以准确地找出在迁移到 QA 和生产环境时需要包含哪些更改。我们目前没有使用 DB 项目,但将来可能会切换到该项目(也许这是答案的一部分)。
我非常习惯于我的源代码控制系统为我处理这样的事情,并希望我的 SQL 也有同样的事情。
我们的开发人员正在处理的数据库太大(有很多数据库对象)。我们必须控制 db 对象的更改(更改管理)。我们公司不能有一个人只负责数据库的变化。所以我们需要一个数据库对象的源安全,类似于标准代码的版本控制,但更多地与数据库相关,可以同步数据库和脚本。什么是最好的。可靠、便宜、实用 - 选择两个:)
source-control sql-server version-control sql-server-2008-r2
处理具有多个分支的项目,其中每个分支最终会合并回主分支,并且本质上是孤立的,以便开发新功能。
数据库,即 MS SQL Server,有一个共享架构,但是每个分支都会随着它的进展对架构进行更改。
我的主要问题是什么是处理从主分支到派生分支共享架构的好方法,以便对主分支所做的更改可以轻松合并到派生分支中,而无需在派生分支中进行新更改分支?
我们想为需要更改数据库架构(附加列、列重命名、表重命名、数据类型等)的新软件版本更新旧数据库架构。是否有任何 MySQL 数据库比较工具可以帮助将旧模式适应新模式,而不会丢失任何存储的数据?(免费软件优先)
可以手动进行更改,是的。但是我们正在寻找一种更舒适的方式并捕捉所做的所有更改。