相关疑难解决方法(0)

您是否对数据库项使用源代码管理?

我觉得我的商店有一个漏洞,因为我们没有一个可靠的流程来版本化我们的数据库模式更改.我们做了很多备份,所以我们或多或少都被覆盖了,但以这种方式依赖你的最后一道防线是不好的做法.

令人惊讶的是,这似乎是一个共同点.我说过的很多商店都忽略了这个问题,因为他们的数据库并没有经常改变,而且他们基本上只是努力做到细致.

但是,我知道这个故事是怎么回事.事情排列错误只是一个时间问题而且缺少某些东西.

对此有什么最佳做法吗?有哪些策略对你有用?

database version-control

592
推荐指数
15
解决办法
12万
查看次数

您是否将数据库静态数据放入源代码控制中?怎么样?

我正在使用SQL-Server 2008和Visual Studio Database Edition.

使用此设置,保持模式同步非常简单.基本上,有一个"比较模式"工具,允许我将两个数据库和/或数据库模式的模式与源控制的创建脚本文件夹同步.

但是,就数据而言,情况不太清楚,数据可能有三种不同:

  • 代码中引用的静态数据.典型示例:我的用户可以更改其设置,并将其配置存储在服务器上.但是,如果用户没有覆盖它,则每个设置都有一个系统范围的默认值.包含这些默认设置的表随着向程序添加更多选项而增长.这意味着在签入新功能/选项时,通常也会在数据库中创建系统范围的默认设置.

  • 静态数据.例如.填充下拉列表的产品列表.该程序不依赖列表中特定产品的存在来工作.例如,这可以是在部署程序的新"unicode版本"时应该在生产中部署的unicode编码产品的列表.

  • 其他数据,即其他所有数据(日志,用户帐户,用户数据等)

我觉得我的第三个项目不应该是源代码控制的(当然,它应该定期备份)

但关于静态数据,我想知道该怎么做.

  • 我应该将插入脚本附加到创建脚本吗?或者可以使用单独的脚本?

  • 我(作为开发人员)如何警告执行部署的人员应该执行insert语句?

  • 我应该区分我的两种数据吗?(第一个通常由开发人员创建,而第二个通常由非开发人员创建)

您如何管理数据库静态数据?

sql version-control

18
推荐指数
2
解决办法
4345
查看次数

如何在开发过程中管理数据库?

我的四人开发团队已经面临这个问题一段时间了:

有时我们需要处理同一组数据.因此,当我们在本地计算机上进行开发时,dev数据库将远程连接.

但是,有时我们需要在db上运行操作,这些操作将依赖于其他开发人员的数据,即我们破坏关联.为此,本地数据库会很好.

是否有解决这种困境的最佳做法?有没有像"数据SCM"工具?

以一种奇怪的方式,在git repo中保留SQL插入/删除/更新查询的文本文件会很有用,但我认为这可能非常快速地变慢.

你们怎么处理这个?

database version-control data-integrity data-integration

17
推荐指数
3
解决办法
800
查看次数

如何控制SQL Server数据库的版本?

我有SQL Server数据库并对其进行更改.某些数据库表的记录是我的应用程序运行所需的起始记录.我想对数据库和这些记录(行)进行版本控制.有可能这样做并将其捆绑到我的源代码的SVN版本控制或是否有其他解决方案?我想实现这一点,以便能够返回到以前版本的数据库并比较数据库修订版之间的更改.如果这个工具是免费的,开源的或者不是非常昂贵,那将是很好的.

我的环境是Visual C#Express,SQL Server 2008 Express和Tortoise SVN.

database sql-server version-control

16
推荐指数
2
解决办法
2万
查看次数