我使用实体框架(版本6.1.3)-代码优先-为我的应用程序。
应用程序托管在Azure平台上,并使用Azure SQL数据库。
我在两个不同的地区有一个数据库实例,我正在使用同步预览来保持数据同步。
由于同步负责确保数据保持同步,所以当我运行迁移时,我希望模式更改和种子只发生在一个数据库中,而模式更改只发生在另一个数据库中(没有种子)。
这是可能的EF工具,还是我需要移动到手动脚本的播种?
这可以通过分散部署来实现。
如果worker role 1更新了数据库和种子如果在同步工作者角色2连接到您的其他数据库之后,它将看到迁移已经发生。
触发此操作的一种方法是禁用除1个辅助角色之外的所有角色的自动迁移。问题是,当您的部分应用程序景观更新/迁移时,您可能必须处理停机/问题,但您的数据库仍在同步。(worker角色也可以被webjob, website等代替)