当我部署到生产环境时停止自动迁移
Stop automatic migrations when I deploy to production
我有一个 linq to entities 应用程序,它运行良好,直到有人试图向数据库添加列 table。
我很惊讶地看到生产应用程序崩溃了,因为它要 运行 自动迁移并删除列。它因潜在的数据丢失而停止。
如何让我的应用程序 运行 不尝试同步数据库?如果数据库更改没有破坏更改,我希望旧版本的 linq to entities code first applications 到 运行 以及较新的版本。
在生产中,您可以...
- 在启动时使用
SetInitializer<YourContext>(null)
或...
- 禁用数据库初始化
<contexts>
<context type="Namespace.MyContext, MyAssembly"
disableDatabaseInitialization="true" />
</contexts>
无论哪种方式,自动迁移都会被禁用(我认为 __MigrationsHistory/元数据检查也会被禁用)。
我有一个 linq to entities 应用程序,它运行良好,直到有人试图向数据库添加列 table。
我很惊讶地看到生产应用程序崩溃了,因为它要 运行 自动迁移并删除列。它因潜在的数据丢失而停止。
如何让我的应用程序 运行 不尝试同步数据库?如果数据库更改没有破坏更改,我希望旧版本的 linq to entities code first applications 到 运行 以及较新的版本。
在生产中,您可以...
- 在启动时使用
SetInitializer<YourContext>(null)
或... - 禁用数据库初始化
<contexts> <context type="Namespace.MyContext, MyAssembly" disableDatabaseInitialization="true" /> </contexts>
无论哪种方式,自动迁移都会被禁用(我认为 __MigrationsHistory/元数据检查也会被禁用)。