Nia*_*ton 7 database sql-server deployment
我们的项目有大约20个开发人员,但我们的应用程序相对较少使用数据库.我们有大约5个数据库的集合,所有这些数据库都非常小,每个数据库的表少于20个,其中没有数百个行或任何大的数据库.
关于如何随着时间的推移管理数据库的演变,我们有两个选项:
第二个选项似乎被广泛使用,我在这里找到了一个深入的讨论:http://odetocode.com/blogs/scott/archive/2008/01/31/versioning-databases-the-baseline.aspx
我们目前遇到的问题是我们无法访问我们的生产数据库.这意味着要创建一个发布包,我们必须将Production的备份还原到另一个位置,针对该引用数据库生成差异并将脚本提供给生产数据库团队.因此,我们的生产发布与我们的其他环境不同.
这使得运行版本化脚本的想法很吸引人,因为我们在所有环境中使用相同的脚本,并且在部署中没有临时工作(例如,手动恢复prod到参考DB).但鉴于我们有这么小规模的数据库情况,我觉得我们几乎不可能成为数据库工具的困难案例.我们想要的是尽可能简单易懂的东西.
RedGate套件之类的工具是否适用于这种情况,或者我们应该使用版本化脚本吗?成本并不是一个问题,它更多的是创建一个成功的坑,维护和部署数据库是尽可能基本和自动化.
根据我的经验,它总是不仅仅是架构更改。如果您将一列分成两部分,或者将一列转移到单独的表中,或者进行其他类似的操作,则需要迁移架构和数据。
没有工具或脚本允许您自动迁移实际数据。最多您会得到模式的差异,您的开发人员可能会发现它作为数据库版本迁移脚本的提醒/检查列表很有用(在单个事务中完成创建/更改/删除和插入/更新/删除的序列) 。
| 归档时间: |
|
| 查看次数: |
6717 次 |
| 最近记录: |