我有一个 ASP.NET MVC 5本地项目,每当我需要吹走数据库,我只是打开一个新的查询对它,改变可用的数据库下拉到主,然后关闭连接对我的本地数据库,并运行查询“下拉数据库[名称]”。然后我构建项目,进入包管理器控制台并运行“ Update-Database”。这似乎重新构建了一个新的本地数据库,并在我的 configuration.cs 文件中运行了種方法。
问题在于,当我需要在一个活动环境中测试一些东西,这样我就可以更好地测试 API,我将把它们部署到一个 Azure 网站和相应的 Azure 数据库中,这非常容易做到。我在发布向导中勾选了“执行代码优先迁移”,大多数时候它都能正常工作,我可以运行和调试我的实时版本。有时候我需要清除数据库,重新从头开始,但我真正找到的唯一方法是进入 Azure 门户网站,删除数据库,然后用相同的名称重新创建数据库。Azure 需要一些时间来处理,因此这是一个缓慢的测试周期。
有没有一种快速的方法可以将 Azure SQL DB 放置/重置到它的新鲜、空白、处女状态,然后用“执行代码优先迁移”重新发布,让它重新创建表并重新播种数据?
我见过一些关于在创建 db 之后创建初始迁移的讨论,然后尝试使用 Powershell 来回滚到初始状态,但是我没有运气让它工作,我想同时删除所有数据。也许我只是语法错误或者没有找到足够好的教程。虽然我可以在 Azure DB 上运行一个查询来“删除数据库[ x ]”,但它实际上会像您预期的那样杀死 SQL Azure DB 实例,您需要返回到门户来重新创建它。有时候初始状态并不好,因为模型已经被更新了,所以这可能无论如何都没有用处。
我觉得应该有一些更简单更快捷的方法来测试活动环境中的更改,因为 MS 提供了所有这些伟大的工具和快捷方式,但是他们只是在这个开发阶段丢掉了球还是我遗漏了什么?