Add support for System database package references for SDK-style sql projects (#23309)

* add package reference type for system db references

* Add radio buttons

* hookup

* add test

* handle changing reference type radio buttons

* cleanup

* update strings

* change style to type

* change more places with style to type

* blank lines
This commit is contained in:
Kim Santiago
2023-06-13 13:06:12 -10:00
committed by GitHub
parent 398a91456d
commit 1ff0a07217
12 changed files with 136 additions and 24 deletions

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { Uri } from 'vscode';
import { SystemDatabase } from '../common/typeHelper';
import { SystemDatabase, SystemDbReferenceType } from '../common/typeHelper';
export interface IDatabaseReferenceSettings {
databaseVariableLiteralValue?: string;
@@ -13,6 +13,7 @@ export interface IDatabaseReferenceSettings {
export interface ISystemDatabaseReferenceSettings extends IDatabaseReferenceSettings {
systemDb: SystemDatabase;
systemDbReferenceType: SystemDbReferenceType;
}
export interface IUserDatabaseReferenceSettings extends IDatabaseReferenceSettings {

View File

@@ -830,13 +830,12 @@ export class Project implements ISqlProject {
throw new Error(constants.databaseReferenceAlreadyExists);
}
let systemDb;
let result;
let sqlProjService;
let systemDb, referenceType, result, sqlProjService;
if (utils.getAzdataApi()) {
systemDb = <unknown>settings.systemDb as mssql.SystemDatabase;
referenceType = settings.systemDbReferenceType as mssql.SystemDbReferenceType;
sqlProjService = this.sqlProjService as mssql.ISqlProjectsService;
result = await sqlProjService.addSystemDatabaseReference(this.projectFilePath, systemDb, settings.suppressMissingDependenciesErrors, settings.databaseVariableLiteralValue);
result = await sqlProjService.addSystemDatabaseReference(this.projectFilePath, systemDb, settings.suppressMissingDependenciesErrors, referenceType, settings.databaseVariableLiteralValue);
} else {
systemDb = <unknown>settings.systemDb as vscodeMssql.SystemDatabase;
sqlProjService = this.sqlProjService as vscodeMssql.ISqlProjectsService;