我已经构建了一个小型网络应用程序,我正在考虑将其部署为azure的生产网站。我已经使用了代码优先的方法。我正在考虑维护一个azure生产数据库的时候,根据用户测试等原因,我的某些模型在部署的早期阶段可能仍会发生变化。
我的工作流程可能并不理想。我已发布到azure进行测试,我的数据存储在azure上名为project_db的sql db中。 但是我一直在我的本地机器上对我的模型进行更改。而不是使用迁移 - 我有点 - 但也发现有点难以处理,我的工作流程是我改变我的模型,例如。添加属性 - 然后我将删除我的本地数据库,然后再次构建我的解决方案。至少在我的本地机器上运行而无需实现迁移。而且我不需要任何本地存储的数据,它只是种子。
我希望确认如果我沿着这条路走下去,我必须在azure上做同样的事情。那就是如果我在本地更改我的模型,删除我的localdb然后再在本地构建我的解决方案 - 我不能只发布到azure并期望我以前创建的sql project_db工作。我必须删除azure project_db并创建一个新的azure db,它将根据我改变的模型构建。
一旦我在我的机器上更改了我的模型(在启用迁移之前) - 说我已经向IdentityModels.cs添加了10个新属性,我想部署到已经包含数据的现有project_db ...如果我此时启用迁移将迁移到azure并维护我的数据。或者,在首次将数据库发布到azure之前,必须从头开始启用迁移吗?
在我的本地计算机上更改了我的模型(包括IdentityModel.cs)之后,我确实尝试发布到azure project_db。即使AspNetUser表仍包含先前已输入的电子邮件地址等,我也无法登录。我假设我的更改模型与project_db中的azure AspNetUser表不匹配是一个问题。
感谢您的建议。