小编mic*_*ael的帖子

Azure Pipelines - CI/CD:如何针对数据库执行文件夹中的所有 .sql 文件

我已将所有 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)

sql-function azure-sql-database azure-devops

7
推荐指数
1
解决办法
9048
查看次数