我正在使用实体框架 4 和模型优先方法开发 C# 应用程序(我有一个模型,我从中生成我的数据库表和类)。
每次来自客户的更改请求时,定期更改数据库模式(表定义等)的最佳方法是什么?(删除整个数据库并将生成的模型 SQL 应用到它显然不是一种选择,因为数据库中的所有数据都会丢失。)
希望有人可以给我一个提示。
我正在使用实体框架 4 和模型优先方法开发 C# 应用程序(我有一个模型,我从中生成我的数据库表和类)。
每次来自客户的更改请求时,定期更改数据库模式(表定义等)的最佳方法是什么?(删除整个数据库并将生成的模型 SQL 应用到它显然不是一种选择,因为数据库中的所有数据都会丢失。)
希望有人可以给我一个提示。
对于我们的模型优先数据库更新,我们将生成的数据库放入第二个“diff”数据库。然后我们使用 Open DB diff 之类的工具生成更改脚本:http: //opendbiff.codeplex.com/或 redgate 的 SQL 比较器:http ://www.red-gate.com/products/sql-development/sql-compare /。
生成的脚本通常会创建一个安全的数据库导出,并保留您的数据。然而,检查生成的脚本实际做了什么总是一个好主意,以防止任何数据丢失。
数据库项目。您可以与本地或开发数据库进行模式比较,然后针对生产数据库生成变更。简单且源代码可控。