pipe理数据库模式和configuration修订的最佳做法是什么?
你用什么工具?
迈克尔
K. Scott Allen通过Coding Horror:Get Your Database Under Version Control了解了数据库版本控制的一系列文章。 他们有一个SQL Server的焦点,但它可以适用于其他环境。
恐怕我喜欢老式的使用本地dbms工具的方式将模式转储到文本文件并将其放入版本控制中。 我敢肯定,一些奇特的工具做得不错,但我现有的工具箱可以满足我的需求。 如果我需要自动迁移或类似的东西,我只会考虑花哨的东西。 因人而异。
对此进行控制的一件大事就是限制权限,并通过部署更改进行阻塞。 您可以将VCS系统与数据库一起使用,只要确保人们检查脚本文件进出。 即使他们使用工具进行更改,他们也应该获取用于实际进行更改的脚本(SQL Server包含此function,不确定其他平台)。
将脚本文件保存为与您的应用的任何其他文件一样的VCS。
我获得了使用SQL-DMO来编写SQL Server对象的VBS脚本。 然后,它使用SourceSafe集成将其检入到源代码控制中。 运行它每晚,你有历史的DDL。
C:\WINNT\system32\cscript.exe vssAgent.vbs theServerName
vssAgent.vbs( 链接1 , 链接2 , 链接3 )
您必须在vbs自定义一些login名/密码以匹配您的VSS凭证。
我不是存储实际的DDL脚本,而是控制对可以针对另一个数据库进行区分的模式元数据的描述。 我使用SchemaCrawler – 一个我用Java编写的免费的,命令行的开源工具,并且为此而devise。