- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我最近问了一个关于 DVCS 是否适合企业环境的问题,这引发了我的另一个问题。
DVCS 的优点之一似乎是您可以轻松地分支和尝试新事物。当我开始考虑数据库更改时,我的问题就开始了。我一直发现将 DB 放入 VCS 很棘手,而且听起来使用 DVCS 会更难。
那么,使用数据库和 DVCS 的最佳方式是什么?
编辑:我已经开始研究 Migrator.NET。人们如何看待这样的项目,以便轻松地在版本之间移动,特别是在您的 DVCS 中使用实验分支?
最佳答案
我认为处理这个问题的最好方法是使用 DB Schemas,而不是数据库本身。在这种情况下,每个开发人员都有自己的数据库来开发。
以下是一些可用的选项:
这些可能会给您一些关于如何处理将数据库置于版本控制中的灵感。处理模式的另一个好处是您可以更轻松地实现 TDD 和持续集成 (CI)。您的 TDD/CI 环境将能够构建新版本的数据库,然后针对新生成的环境运行测试。
关于数据库和 DVCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941069/
阅读内置帮助后,在我看来,这两个命令都可用于修改工作区以匹配某个修订版。但我不明白更新和结帐之间的区别。请在您的答案中包含一些琐碎的工作流程,以显示何时更新/结帐是合适的。 最佳答案 第一个主要区别是
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
是否可以使用 Fossil 重命名目录?我试过明显的命令: fossil mv oldname newname Fossil 然后告诉我它做了一些事情: RENAME oldname newname
所以我一直在做一个相当大的项目,并像 VCS 一样使用 PlasticSCM。我将它与 DVCS 模型一起使用,但到目前为止,我几乎只是在我的办公机器和家庭之间进行同步。 现在我们正在让其他人参与该项
还有一个thread在 StackOverflow 上,处理多久提交一次对源代码控制的更改。我想把它放在使用 git 或 mercurial 之类的 DVCS 的上下文中。 你多久提交一次? 您是否仅
情况是这样的:在我的小办公室里,因为我们喜欢保持移动并且偶尔在家工作,所以我们没有中央文件服务器,而是将所有办公室文档都放在一个 SVN 存储库中,并且每个人都在他们自己的笔记本电脑。结帐重约 3GB
我最近问了一个关于 DVCS 是否适合企业环境的问题,这引发了我的另一个问题。 DVCS 的优点之一似乎是您可以轻松地分支和尝试新事物。当我开始考虑数据库更改时,我的问题就开始了。我一直发现将 DB
有没有办法明确删除“丢失”文件而不必使用 fossil rm 删除它们逐个? 我最近创建了一个存储库,其中有一个 Flash XFL 文件夹,Flash 似乎有点随意地删除和创建了一些二进制文件。每次
TFS 2010 是否有 SVN 提交后事件?每次开发人员 checkin 某些内容时,我都想运行脚本或应用程序或做一些事情。我浏览了互联网,但没有找到相关信息。 最佳答案 您将需要创建(并发布)一个
我正在寻找一个版本控制系统,它能够检测函数是否在文件中移动。例如,有一个文件“Foo.java”,其中包含函数“a()”、“b()”和“c()”。 public class Foo { voi
我的工作场所正在考虑转向现代 (D)VCS,这是我正在 push 的事情。 我的老板有这个想法,目前的工作流程是有一个集中的存储库,每个人都可以在任务完成后提交/merge 他们的更改,在处理任务时,
我最近开始在一个个人项目中使用 Git,我可以看到 DVCS 如何使我们在工作中受益(这是一家大型企业软件公司,目前正在运行 Perforce)。例如,我团队中的功能工作主要由开发人员创建自己的分支组
在使用 DVCS 近两年之后,似乎一个固有的“缺陷”是意外数据丢失:我丢失了未被推送的代码,我知道其他人也丢失了。 我可以看到一些原因:异地数据复制(即“提交必须转到远程主机”)不是内置的,存储库与代
还是传统的客户端 - 服务器 VCS 更合适?我目前正在使用 TortoiseSVN,但我对 DVCS 感兴趣,但我不确定尝试使用类似的东西是否是一个好主意。 最佳答案 由于您仍然可以推送到另一台运行
我希望在初学者的快速入门指南中对此进行解释,因为几乎每个从化石开始的人都会有他想要开始用化石管理的项目。但我在文档中找不到任何解释。 (我来自 git,这对于我的需求来说太重了,但至少在现有文件夹中创
我在一家公司工作,我们创建了许多特定于客户的小型应用程序。我们有几个开发人员,但大多数时候每个项目只有一名开发人员。 Customer1 ProjectX App
如何从 Bazaar 工作区中删除所有未版本控制的文件?我希望执行与 hg purge --all 或 git clean -fd 相同的操作。 最佳答案 我只在 BzrTools 中看到过这个,作为
我在这里和那里看到暗示直接从 DVCS 克隆运行实时部署是不好的,最好导出一个干净的树或 tarball 并部署它。在我看来,直接从 DVCS 克隆运行有几个优点: 无需在每次部署时传输整个代码库。
Smalltalk 令人讨厌的事情之一是,由于它管理源代码的方式,它(通常)需要自己的 VCS。 Squeak 和 Gemstone(至少在其 GLASS 版本中)有一个名为 Monticello 的
我想知道是否可以使用 nuget 在版本控制中仅存储对所需包的引用(仅 package.config 并忽略 packages 文件夹)。 有没有办法告诉 nuget(重新)下载各种 package.
我是一名优秀的程序员,十分优秀!