我已将所有 SQL 文件签入 Azure DevOps 上的存储库中。我的命名约定允许我知道哪些 .sql 文件被其他 .sql 文件使用(例如,文件创建一个由存储过程使用的视图)。我想强制使用存储库来跟踪代码更改,并且不希望使用 dacpac 文件。我希望每个函数/视图/存储过程都有它自己的文件。
我的问题是,如何从天蓝色管道对数据库执行与“ ..\Functions\BASE_*.sql ”匹配的所有 .sql 文件?我尝试了以下方法,但不支持多个文件匹配。有更好的选择吗?我需要编写循环脚本并自己完成吗?
# pipeline
trigger:
- master
pool:
vmImage: 'windows-latest'
steps:
- task: SqlDacpacDeploymentOnMachineGroup@0
inputs:
TaskType: 'sqlQuery'
SqlFile: '$(System.DefaultWorkingDirectory)\Functions\BASE_*.sql'
ServerName: '$(SQL_ServerName).database.windows.net'
DatabaseName: '$(SQL_DatabaseName)'
AuthScheme: 'sqlServerAuthentication'
SqlUsername: '$(SQL_UserName)'
SqlPassword: '$(SQL_Password)'
Run Code Online (Sandbox Code Playgroud)
我收到的错误是:
Starting: SqlDacpacDeploymentOnMachineGroup
==============================================================================
Task : SQL Server database deploy
Description : Deploy a SQL Server database using DACPAC or SQL scripts
Version : 0.3.23
Author : Microsoft Corporation
Help : https://learn.microsoft.com/azure/devops/pipelines/tasks/deploy/sql-dacpac-deployment-on-machine-group
==============================================================================
##[error]Found more …Run Code Online (Sandbox Code Playgroud)