首页 文章

数据库源代码控制与架构更改脚本

提问于
浏览
3

构建和维护一个数据库,然后由许多开发人员进一步深化/开发,这是软件开发中不断发生的事情 . 我们创建一个构建脚本,并维护随着数据库不断增长而应用的更多脚本 . 有许多方法可以管理它,从手动更新到控制台应用程序/构建脚本,可以帮助自动执行这些过程 .

Has anyone who has built/managed these processes moved over to a Source Control solution for database schema management? If so, what have they found the best solution to be? Are there any pitfalls that should be avoided?

Red Gate似乎是MSSQL世界中的一个重要角色,他们的数据库源代码控制看起来非常有趣:http://www.red-gate.com/products/solutions_for_sql/database_version_control.htm

虽然它看起来不像是取代了(默认)数据*管理流程,但它只替换了我的pov的一半变更管理流程 .

(当我谈论数据时,我的意思是查找值和那种东西,默认情况下或在DR场景中需要部署的数据)

我们在.Net / MSSQL环境中工作,但我确信所有语言的前提都是一样的 .

4 回答

  • 0

    我负责管理我工作的银行内部开发的数据仓库 . 这需要不断更新,我们有一个由2-4个开发人员组成的团队 .

    我们很幸运,因为我们的“产品”只有一个实例,因此我们不必满足部署到可能处于不同版本的多个实例的需求 .

    我们为数据库中的每个对象(表,视图,索引,存储过程,触发器)保留一个创建脚本文件 .

    我们尽可能避免使用 ALTER TABLE ,更喜欢重命名表,创建新表并迁移数据 . 这意味着我们不必查看 ALTER 脚本的历史记录 - 我们总是可以通过查看其创建脚本来查看每个表的最新版本 . 迁移由单独的迁移脚本执行 - 这可以部分自动生成 .

    每次我们发布时,我们都有一个脚本,它以适当的顺序运行创建脚本/迁移脚本 .

    仅供参考:我们使用Visual SourceSafe(yuck!)进行源代码控制 .

  • 1

    我一直在寻找一个SQL Server源代码控制工具 - 并且使用SQL Server Management Studio作为插件,遇到了许多完成这项工作的高级版本 .

    LiquiBase是一个免费的,但我从来没有完全满足我的需求 .

    还有另一个免费产品,虽然它可以从SSMS中运行,并将对象和数据编写到平面文件中 .

    然后可以将这些对象泵入新的SQL Server实例,然后重新创建数据库对象 .

    gitSQL

  • 1

    也许你要求LiquiBase

相关问题