gpt4 book ai didi

sql-server - 比较 SQL Server 数据库架构和数据(同时)并生成脚本

转载 作者:行者123 更新时间:2023-12-02 00:19:17 24 4
gpt4 key购买 nike

我有一个相当大/复杂的数据库,我需要在现场从版本 1 升级到版本 2。架构和重要的数据在两者之间有很多变化。

是的,我知道这应该是版本控制阿拉:
http://www.codinghorror.com/blog/2008/02/get-your-database-under-version-control.html但它不是 - 当我完成时它会是。

因此,当前的问题是,我面临着选择,是检查所有提交还是尝试区分数据库的两个版本。到目前为止,我已经尝试过:
http://opendbiff.codeplex.com/
http://www.sqldelta.com/
http://www.red-gate.com/

但是它们似乎都无法成功生成架构升级脚本,因为它们不会同时处理数据。当向表中添加新键时,这会导致外键违规,因为它引用的表是新的,并且虽然已经创建了表的模式,但它包含的数据还没有。可能是这样,但这需要我使用该工具的不同部分,然后将两个脚本混合在一起。

我知道这可能看起来像以下的副本:
What is best tool to compare two SQL Server databases (schema and data)?这是我找到我尝试过的大部分现有工具的地方,但到目前为止,我还没有设法获得任何这些工具来生成一个有效的模式迁移脚本(我真的不太关心数据,但我确实需要外键所需的数据——说实话,这完全不同,因为我部署了旧版本和新版本。

我是不是期望太高了?我应该放弃并开始手动拼接我已有的东西吗?或者我是否完成所有提交并手动创建升级脚本?

最佳答案

我想不出比您似乎已经尝试过的工具更强大的可用工具。如果这些都失败了,我的 homegrown versioning system可能也不会对你有太大帮助。

但是,您应该能够生成更新脚本,然后手动编辑它以向其中添加数据转换。

和/或者你可以disable the foreign key constraints对于更新脚本运行的时间。

关于sql-server - 比较 SQL Server 数据库架构和数据(同时)并生成脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com