在 E2E 测试之前重新创建 Azure SQL 数据库
Recreate Azure SQL Database before E2E test
我有一个带有 Azure SQL 服务器的应用程序。我有一个测试环境,我在其中部署应用程序以进行端到端测试。我想在测试前将数据库重置为某个状态。我有一个具有该状态的 bacpac 文件。我的目标是使用 ci 工具 (appveyor) 来做到这一点。我知道我可以使用 azure powershell api 删除整个数据库。我应该删除数据库还是清空它?还是我认为这完全错误?
您可以在测试前使用 Powershell 恢复 BACPAC,并在测试后删除数据库。 Azure 文档中提供了一个示例:https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-import-from-bacpac-powershell
一个可能执行得更快的选项是直接对数据库执行 运行 T-SQL 以在测试前设置初始状态并在测试后清空数据库。
但是,进行完整的 BACPAC 恢复和退出更容易设置,您可以 运行 并行进行多个测试 运行,因为它不依赖于预- 在 运行.
期间声明的现有数据库
编辑:将 link 更改为 en-us 而不是 nl-nl
另一种选择是 运行 Azure 数据库作为 docker 服务,这可能会简化您的初始数据库设置。
我有一个带有 Azure SQL 服务器的应用程序。我有一个测试环境,我在其中部署应用程序以进行端到端测试。我想在测试前将数据库重置为某个状态。我有一个具有该状态的 bacpac 文件。我的目标是使用 ci 工具 (appveyor) 来做到这一点。我知道我可以使用 azure powershell api 删除整个数据库。我应该删除数据库还是清空它?还是我认为这完全错误?
您可以在测试前使用 Powershell 恢复 BACPAC,并在测试后删除数据库。 Azure 文档中提供了一个示例:https://docs.microsoft.com/en-us/azure/sql-database/scripts/sql-database-import-from-bacpac-powershell
一个可能执行得更快的选项是直接对数据库执行 运行 T-SQL 以在测试前设置初始状态并在测试后清空数据库。
但是,进行完整的 BACPAC 恢复和退出更容易设置,您可以 运行 并行进行多个测试 运行,因为它不依赖于预- 在 运行.
期间声明的现有数据库编辑:将 link 更改为 en-us 而不是 nl-nl
另一种选择是 运行 Azure 数据库作为 docker 服务,这可能会简化您的初始数据库设置。