azure-devops - 使用 yaml Azure DevOps Pipeline 构建错误
问题描述
我试图自动化我的管道,因此通过 yaml 手动配置了 azure 管道。除最后一项外,所有任务均已成功执行。
最后一个任务是在数据库'demodb'中执行sql迁移脚本
- task: SqlAzureDacpacDeployment@1
inputs:
azureSubscription: 'sqlserviceConnection'
AuthenticationType: 'servicePrincipal'
ServerName: 'demodb.database.windows.net'
DatabaseName: 'demodb'
deployType: 'SqlTask'
SqlFile:'$(Build.ArtifactStagingDirectory)\publish\SQL\migrate.sql'
IpDetectionMethod: AutoDetect
那就是我变成的错误:
指定的模式名称“xxx@xxx”要么不存在,要么您没有使用它的权限。
任务亮点:
- sqlserviceConnection : 服务连接
- SqlFile :如果管道成功运行,将执行数据库迁移脚本。
migrate.sql 的内容
IF OBJECT_ID(N'[__EFMigrationsHistory]') IS NULL
BEGIN
CREATE TABLE [__EFMigrationsHistory] (
[MigrationId] nvarchar(150) NOT NULL,
[ProductVersion] nvarchar(32) NOT NULL,
CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId])
);
END;
GO
BEGIN TRANSACTION;
GO
IF NOT EXISTS(SELECT * FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20210714144330_init')
BEGIN
CREATE TABLE [Users] (
[Id] uniqueidentifier NOT NULL,
[BusinessPhones] nvarchar(max) NULL,
[DisplayName] nvarchar(max) NULL,
[GivenName] nvarchar(max) NULL,
[JobTitle] nvarchar(max) NULL,
[Mail] nvarchar(max) NULL,
[MobilePhone] nvarchar(max) NULL,
[OfficeLocation] nvarchar(max) NULL,
[PreferredLanguage] nvarchar(max) NULL,
[Surname] nvarchar(max) NULL,
[UserPrincipalName] nvarchar(max) NULL,
CONSTRAINT [PK_Users] PRIMARY KEY ([Id])
);
END;
GO
IF NOT EXISTS(SELECT * FROM [__EFMigrationsHistory] WHERE [MigrationId] = N'20210714144330_init')
BEGIN
INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion])
VALUES (N'20210714144330_init', N'5.0.8');
END;
GO
COMMIT;
GO
我做了什么:
- 创建的sql服务器
- 创建广告用户
- 在数据库“demodb”中将用户 aad 分配为 adb_admin
- 创建了应用服务“demoapp”
- 在 aad 中注册应用服务
- 将 demoapp 添加到 aad
解决方案
我通过在目标数据库中创建模式解决了这个问题。我还授予 aad 用户访问该架构的权限
CREATE SCHEMA MCMO
AUTHORIZATION MCMO_Contributor
推荐阅读
- java - 使用java比较两个值
- x86 - 段描述符中 AVL 位的用途是什么?
- javascript - 在ajax成功的单独页面中打印每个循环记录
- asp.net-mvc - 要求 SSL 后缺少样式
- java - 为什么对象的fieldname在后者的名字不同的时候会变成json的fieldname?
- java - 使用java 8比较器对实体中的列表进行排序
- android - BottomNavigationView 滞后于片段事务
- reactjs - 多个 redux store 或 combineReducers 用于类似的表单?
- gnu-make - GNU make:检测目标创建与更新
- javascript - 创建只有长度的 svg 六边形点