mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-14 12:08:36 -05:00
Schema Compare extension (#4974)
* extension now working * fix diff editor title disappearing and remove border from source and target name boxes * redoing a bunch of stuff that disappeared after rebasing * add images and add to extensions.ts * moving a few changes to the right place after rebase * formatting * update toolbar svgs * addressing comments * add return types * Adding PR comments * Adding light and dark theme icons * Fixing the diff editor title for dark theme
This commit is contained in:
49
src/sql/azdata.proposed.d.ts
vendored
49
src/sql/azdata.proposed.d.ts
vendored
@@ -44,6 +44,8 @@ declare module 'azdata' {
|
||||
|
||||
export function registerDacFxServicesProvider(provider: DacFxServicesProvider): vscode.Disposable;
|
||||
|
||||
export function registerSchemaCompareServicesProvider(provider: SchemaCompareServicesProvider): vscode.Disposable;
|
||||
|
||||
/**
|
||||
* An [event](#Event) which fires when the specific flavor of a language used in DMP
|
||||
* connections has changed. And example is for a SQL connection, the flavor changes
|
||||
@@ -1699,6 +1701,51 @@ declare module 'azdata' {
|
||||
generateDeployPlan(packageFilePath: string, databaseName: string, ownerUri: string, taskExecutionMode: TaskExecutionMode): Thenable<GenerateDeployPlanResult>;
|
||||
}
|
||||
|
||||
// Schema Compare interfaces -----------------------------------------------------------------------
|
||||
export interface SchemaCompareResult extends ResultStatus {
|
||||
operationId: string;
|
||||
areEqual: boolean;
|
||||
differences: DiffEntry[];
|
||||
}
|
||||
|
||||
export interface DiffEntry {
|
||||
updateAction: SchemaUpdateAction;
|
||||
differenceType: SchemaDifferenceType;
|
||||
name: string;
|
||||
sourceValue: string;
|
||||
targetValue: string;
|
||||
parent: DiffEntry;
|
||||
children: DiffEntry[];
|
||||
sourceScript: string;
|
||||
targetScript: string;
|
||||
}
|
||||
|
||||
export enum SchemaUpdateAction {
|
||||
Delete = 0,
|
||||
Change = 1,
|
||||
Add = 2
|
||||
}
|
||||
|
||||
export enum SchemaDifferenceType {
|
||||
Object = 0,
|
||||
Property = 1
|
||||
}
|
||||
export enum SchemaCompareEndpointType {
|
||||
database = 0,
|
||||
dacpac = 1
|
||||
}
|
||||
export interface SchemaCompareEndpointInfo {
|
||||
endpointType: SchemaCompareEndpointType;
|
||||
packageFilePath: string;
|
||||
databaseName: string;
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface SchemaCompareServicesProvider extends DataProvider {
|
||||
schemaCompare(sourceEndpointInfo: SchemaCompareEndpointInfo, targetEndpointInfo: SchemaCompareEndpointInfo, taskExecutionMode: TaskExecutionMode): Thenable<SchemaCompareResult>;
|
||||
schemaCompareGenerateScript(operationId: string, targetDatabaseName: string, scriptFilePath: string, taskExecutionMode: TaskExecutionMode): Thenable<ResultStatus>;
|
||||
}
|
||||
|
||||
// Security service interfaces ------------------------------------------------------------------------
|
||||
export interface CredentialInfo {
|
||||
id: number;
|
||||
@@ -2916,6 +2963,7 @@ declare module 'azdata' {
|
||||
value: string;
|
||||
width?: number;
|
||||
cssClass?: string;
|
||||
headerCssClass?: string;
|
||||
toolTip?: string;
|
||||
}
|
||||
|
||||
@@ -3764,6 +3812,7 @@ declare module 'azdata' {
|
||||
AgentServicesProvider = 'AgentServicesProvider',
|
||||
CapabilitiesProvider = 'CapabilitiesProvider',
|
||||
DacFxServicesProvider = 'DacFxServicesProvider',
|
||||
SchemaCompareServicesProvider = 'SchemaCompareServicesProvider',
|
||||
ObjectExplorerNodeProvider = 'ObjectExplorerNodeProvider',
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user