1

我一直在研究如何在 EF 4.3.1 迁移中进行降级,而我发现的只是脚本(就像这个EF 4.3 迁移 - 如何生成降级脚本?

为了升级我的用户的生产数据库,我MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration> 在应用程序启动时调用该方法,因此我确保所有用户在安装我的应用程序的新版本后都具有相同的数据库架构。配置迁移后,我不需要在客户端运行任何脚本。

如果我想降级到其他版本会怎样?似乎很明显,这种方法只会向上移动,直到它到达最新的迁移......是否有类似MigrateDatabaseToVersion<TContext, TMigrationsConfiguration, DbMigration>DbMigration 对象是目标迁移的地方?

如果我想降级生产数据库,是否可以避免运行 SQL 脚本?

多谢你们!

4

1 回答 1

2

您可以使用 EF 附带的 migrate.exe 工具进行特定迁移。

Migrate.exe MyApp.exe /startupConfigurationFile=”MyApp.exe.config” /targetMigration=”myTargetMigration”

可以在以下位置找到文档:http: //msdn.microsoft.com/en-us/data/jj618307.aspx

编辑:如何使用连接字符串

Migrate.exe whereYourMigrationsAre.dll /connectionString=”Data Source=localhost;Initial Catalog=blah;whatever else you want to set” /connectionProviderName=”System.Data.SqlClient”
于 2013-10-31T11:00:39.577 回答