我正在研究一个新项目,该项目位于asp.net 2.1 Web API中 这里我在本地数据库中使用代码优先迁移
所以要部署我的应用程序以测试环境我需要知道 最佳和安全的数据库迁移实践,因为这是一个新项目,未来的日常工作可能会发生很多变化
答案 0 :(得分:1)
Best practices are actually provided by Microsoft here
除此之外,this repository提供了一个良好的企业级示例,说明如何编写.NET Core Web App / API项目,并描述了以下实践,这些实践可随着项目规模的扩大可靠地扩展项目。它也会定期更新。
答案 1 :(得分:1)
听起来您正在将迁移与部署混合在一起。 使用Code First进行迁移意味着对数据模型进行更改。 将代码或数据库部署到生产环境是不同的。 我假设您是指问题中的部署。 对应用程序和数据库进行部署的最佳方法是使其自动化。 Jenkins,TFS,Teamcity和Octopus是一些流行的CD工具。 要自动化数据库部署,您需要编写自定义库。 在我工作的一家公司中,我们签入DDL脚本以获取源代码,并且自动构建库删除所有存储的proc,function。运行ddl脚本并重新创建所有存储的proc,函数。 这样,我们可以100%确保所有环境(QA,Staging,Prod)都处于同步状态。