我公司有许多相对较小的Access数据库(2-5MB),可以控制我们的用户辅助设计工具.当然,随着数据错误的发现和修复以及架构的变化以支持工具中的新功能,这些数据库会随着时间的推移而发展.任何人都可以推荐数据库差异工具来比较从一个版本的数据库到下一个版本的数据和架构吗?任何建议将不胜感激:免费,开源或商业.
这适用于小型调度应用.我需要一种算法来有效地比较两个"时间表",找到差异,并仅更新已更改的数据行,以及另一个表中具有此表作为外键的条目.这是一个很大的问题,所以我马上就说我正在寻找一般建议或具体解决方案.
编辑:正如所建议的那样,我已经大大缩短了这个问题.
在一个表中,我将资源与使用它们的时间跨度相关联.
我还有第二个表(表B),它使用表A中的ID作为外键.
表A中对应于表B的条目将具有包含表B中的时间跨度的时间跨度.并非表A中的所有条目都具有表B中的条目.
我正在为用户提供一个界面来编辑表A中的资源调度.它们基本上为表A提供了一组新的数据,我需要将其视为数据库中版本的差异.
如果他们从表B中完全删除表A中的对象,我也想从表B中删除该条目.
因此,给出以下3组:
我需要一个算法:
只是将对象排序到我可以应用适当的数据库操作的安排中,这对于解决方案来说已经足够了.
再次,请按照您的具体或一般情况回答,我正在寻求建议,但如果有人有一个完整的算法,只会让我的一天.:)
编辑:为了回应lassvek,我提供了一些额外的细节:
表B的项目始终完全包含在表A项目中,而不仅仅是重叠.
重要的是,表B的项目是量化的,因此它们应完全落入或完全落在外面.如果没有发生这种情况,那么我有一个数据完整性错误,我必须单独处理.
例如(使用速记):
Table A ID Resource Start End 01 Resource A 10/6 7:00AM 10/6 11:00AM 02 Resource A 10/6 1:00PM 10/6 3:00PM Table B ID Table_A_ID Start End 01 02 10/6 1:00PM 10/6 2:00PM
所以我想要以下行为:
我们使用Tortoise SVN来访问我们的SVN服务器.我想知道是否有人知道图像差异查看器会并排显示图像的两个修订版以查看任何更改.与默认情况下包含的TortoiseMerge类似,仅适用于图像文件.
合并两个分支时使用什么算法CVS(使用-j)?
谢谢
我们最近根据本网站上的建议从Visual SourceSafe "升级" 到SVN.我们目前的源代码控制设置是:带有VisualSVN的TortoiseSVN.到目前为止,我们对它非常满意,但我想知道使用不同的差异/合并工具是否还有其他好处(TortoiseMerge).
TortoiseMerge看起来很有能力,但也比VSS的"查看历史"工具慢得多.
这个优秀的主题显示了很多不同的东西:在Windows上与Subversion集成时使用了哪些工具?
WinMerge和BeyondCompare都在该线程中提到,但我们主要对差异感兴趣.
有没有很好的理由改变TortoiseMerge,即使是为了更快的差异?
谢谢.
我正在编写一个bash脚本来运行我正在编写的工具的集成测试.
基本上我使用一组输入运行应用程序,并使用diff命令行工具将结果与期望值进行比较.
它有效,但我想通过了解diff命令的结果来增强它,并根据diff的结果打印"SUCCESS"或"FAIL".
我该怎么做?
最后,我想了解如何使用命令提示符在变更集前驱中在UCM活动中区分版本,假设活动中的同一文件有多个版本.
我已经知道如何在活动中获取文件的所有版本.一般情况下,我可以将最新版本与最早的版本区分开来,但如果最早的版本是第一个版本,因为这是一个新的流,那么我将不得不计算原始流.这也是我不知道如何完成的事情.
接收版本并告诉其前任的单个cleartool命令将解决我的所有问题.
有任何想法吗?
我正在尝试编写一个具有一些自主组件的项目.其中之一是需要区分两个文件夹并将不同的文件吐出到一个字符串数组中.Dircmp做了一部分 - 它吐出了不同的文件.但是,当与不同文件夹中的同一文件进行比较时,它似乎实际上并没有进入剩余的文件以查看哪些是不同的.
目前我已经使用了difflib和filecmp,除非我做了一些完全错误的事情,否则我无法找到一种方法来实现我正在寻找的东西,而无需从头开始编写.我需要这个的原因是因为这个python脚本将部署在windows boxen上,标准的linux diff工具将无法使用.
我唯一的另一个想法就是从命令行调用diff等,但这并不能解决我的任何问题(在数组中获取文件而不需要GNU工具).
谁能帮我?我仍然在python中完全磨砂,非常感谢专家的建议.谢谢!
我想知道如何仅通过文件名(忽略扩展名)来比较两个目录(不递归)以获得差异.例如,如果我有列表A和B,我想知道A中存在什么而不是B.
我目前正在处理一些图像.在一个目录中,我有扩展名为.tiff的源文件,在另一个目录中,我处理了扩展名为.png的文件.两个目录中的文件名相同,但只有扩展名不同(例如,一个文件在目录A中命名为foo.tiff,在目录B中命名为foo.png).
我正在尝试查找尚未处理的文件.
谢谢!
是否有一个可以突出显示单个字符编辑的差异工具,而不仅仅是显示整行的旧版本和新版本(即差异StackExchange显示您对帖子进行编辑的那种)?
我更喜欢在Linux命令行diff中使用的一个git.