sql-server - 从 RedGate checkin 脚本重新创建数据库

标签 sql-server powershell redgate

我们有一个包含 15-20 个数据库的 SQL Server 实例,我们在 RedGate 的帮助下在 TFS 中检查这些数据库。我正在编写一个脚本,以便能够在这些脚本的帮助下复制实例(例如,开发人员可以在需要时运行本地实例)。我担心的是这些脚本之间的依赖关系。

在 TFS 中,RedGate 为每个数据库创建了包含 .sql 文件的文件夹:

Functions
Security
Stored Procedures
Tables
Triggers
Types
Views

我用 Powershell 做了一个快速测试,只是循环这些文件夹来执行 sql,但我认为这可能并不总是有效。有我可以遵循的严格顺序吗?或者有一些更简单的方法可以做到这一点?为了澄清这一点,我希望能够从一个完全空的 SQL Server 实例开始,并最终根据 TFS 中的内容得到一个完全配置的实例(没有数据,但这没关系)。使用 Powershell 不是必需的,因此如果其他方法更简单,那就更好了。

最佳答案

如果您已经在使用 RedGate,他们有大量关于如何将更改从源代码管理转移到数据库的文章。以下内容描述了使用 sqcompare 命令行从 TFS 移动数据库代码:

http://www.codeproject.com/Articles/168595/Continuous-Integration-for-Database-Development

如果您与任何空数据库进行比较,它将创建您正在查找的脚本。

关于sql-server - 从 RedGate checkin 脚本重新创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562764/

相关文章:

powershell - 如何在 Powershell 中迭代键/值输出?

regex - 将纯字符串转换为 MAC 地址格式

git - 如何提交到 RedGate SQL Source Control 中的 develop 分支

SQL Server比较机制

sql-server - 在 Docker 容器中的 Server Core 2019 上安装 SQL Server LocalDB

c# - 如何减少 C# 项目中的数据库连接数?

sql - nvarchar (50) 与 nvarchar (max) 的含义

sql-server - 备份报表的 SQL 数据库

mysql - 未除以数字的行数

powershell - 使用 Visual Studio Code 查看我的函数的文档字符串