作为数据库架构师、开发人员和顾问,有很多问题可以回答。其中之一,虽然我最近被问到,但仍然无法很好地回答,那就是......
“保持数据库变更记录、组织并能够在单开发人员或多开发人员环境中有效推出的最佳方法或技术之一是什么?”
这可能涉及存储过程和其他对象脚本,但尤其是模式 - 从文档到新的物理更新脚本,到推出,然后是完整的循环。有一些应用程序可以实现这一点,但需要模式挂钩和开销。我更想了解在没有大量额外第三方参与的情况下使用的技术。
我见过的最简单的方法是在不借助外部工具的情况下完成此操作,如果您愿意的话,可以创建一个“架构补丁”。模式补丁只是一个简单的 t-sql 脚本。模式补丁在脚本中被赋予一个版本号,并且该版本号存储在数据库的表中以接收更改。
对数据库的任何新更改都涉及创建一个新的架构补丁,然后您可以按顺序运行该补丁,然后检测数据库当前所在的版本并运行其间的所有架构补丁。之后,模式版本表将使用执行补丁的任何日期/时间进行更新,以存储用于下次运行。
像这样详细介绍的好书叫做重构数据库 https://rads.stackoverflow.com/amzn/click/com/0321293533.
如果您想使用外部工具,可以查看Ruby 的迁移 http://wiki.rubyonrails.org/rails/pages/understandingmigrations项目或类似的 C# 工具,称为迁移网 http://code.google.com/p/migratordotnet/。这些工具通过创建具有“向前”和“向后”迁移的 c# 类/ruby 类来工作。这些工具的功能更加丰富,因为它们知道如何在模式补丁中前进和后退。然而,正如您所说,您对外部工具不感兴趣,但我想无论如何我都会为其他读者添加它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)