迁移同步开发生产数据库我使用的是MVC5和.NETFramework4.5.1。先写代码。我还使用SQL2012服务器和(localdb)v11.0进行迁移。我正在使用C#和MVC5开发一个项目。在开发过程中,我在我的开发计算机中创建了一些新表并更改了一个“名称”字段,我认为它已被索引。我添加并删除了几次。之后,我添加了许多新的不相关的表,但由于某种原因,由于“名称”字段上的索引,我的迁移开始给我外部约束错误。当我修复它们时,这些错误不断增加,所以我决定恢复到迁移中的原始状态,并使用当前位置作为新起点进行重置。我希望生产表在开发数据库中看到这个新的开始并将自己重新定义为开发状态。我想我在某处读到生产数据库与开发数据库匹配并自行更新。我相信生产数据库中有一个迁移文件与开发数据库中的文件相匹配——这显然不同步。我考虑过删除其中的数据,但我一直在等待,直到我得到建议。反正我把Dev机里的migration目录改了名字,从项目中排除了。然后我在开发计算机上重新初始化我的表(使用本地数据库中的新数据库名称)并使用初始化数据重新加载它。一切正常。现在,我有一个新问题,我的生产数据库和我的开发数据库不同,我在开发计算机中的迁移设置为创建新文件,而生产状态下的迁移期望更早的迁移。每次我尝试使用开发计算机更新生产数据库时,我都会收到文件存在的错误消息——它们当然存在。所以,我把迁移文件中的所有创建文件都注释掉了,再试一次。现在生产数据库将启动,但不会运行,因为更新的代码有它引用的新字段,这些字段不是在生产数据库中创建的。因此,在我的生产数据库中,我开始收到所有缺失字段的错误。我试图进行自动迁移,但没有用。我想,解决这个问题的唯一方法是手动一个一个地同步。问题1:有没有办法自动同步(使用迁移)生产和开发数据库,??使它们与开发数据库相同?问题2:考虑到上述情况,是否有更好的方法来重置生产数据库的迁移?我找到了解决办法。Red-Gate的员工有一个很棒的SQL工具,叫做SQLCompare。它只需按一下按钮即可比较数据库文件结构,甚至可以使它们完全相同。但是,在使用它之前,请确保只比较“表”,而不是包括“用户”和“角色”在内的所有内容。这是因为当你运行软件时,它会备份、删除和重新创建,如果删除角色或用户,软件将无法再访问数据库,所有内容都会被删除!还有……做个备份!(我第一次尝试时丢失了所有测试数据)http://www.red-gate.com/products/sql-development/sql-compare/(这不是Red-Gate人员的销售插件。我不了解他们,但他们的工具对我帮助很大-这是一个很棒的工具,易于使用,并免费使用14天!-我在这里列出它,所以其他人,我相信有很多,可能像我一样Stuck,可以得到帮助。)2015年4月24日好。同步两个数据库后,还有更多内容,使它们看起来完全相同。以上就是《C#学习教程:迁移同步开发生产数据库分享》的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
