Dac Deployment options model updates according to STS changes in mssql, SC, dacpac extensions (#18050)

* Dac Deployement options model updates according to STS changes

* Undoing vscode whitespace changes which were added accidentally

* Updated model with dac deploy options display names coming from the STS API

* Combining all exisitng code updates into single branch/pr. it includes mssql model updates and SC/dacpac model, code and testupdates

* sql db proj test failure fix

* STS version bump to 4.0.0.4
This commit is contained in:
Sai Avishkar Sreerama
2022-05-23 23:19:06 -05:00
committed by GitHub
parent 09d9ad0020
commit 36550798f3
13 changed files with 816 additions and 1341 deletions

View File

@@ -22,89 +22,112 @@ export const mockDacFxResult = {
report: ''
};
/* Get the deployment options sample model */
export function getDeploymentOptions(): mssql.DeploymentOptions {
const sampleDesc = 'Sample Description text';
const sampleName = 'Sample Display Name';
const defaultOptions: mssql.DeploymentOptions = {
ignoreTableOptions: { value: false, description: sampleDesc, displayName: sampleName },
ignoreSemicolonBetweenStatements: { value: false, description: sampleDesc, displayName: sampleName },
ignoreRouteLifetime: { value: false, description: sampleDesc, displayName: sampleName },
ignoreRoleMembership: { value: false, description: sampleDesc, displayName: sampleName },
ignoreQuotedIdentifiers: { value: false, description: sampleDesc, displayName: sampleName },
ignorePermissions: { value: false, description: sampleDesc, displayName: sampleName },
ignorePartitionSchemes: { value: false, description: sampleDesc, displayName: sampleName },
ignoreObjectPlacementOnPartitionScheme: { value: false, description: sampleDesc, displayName: sampleName },
ignoreNotForReplication: { value: false, description: sampleDesc, displayName: sampleName },
ignoreLoginSids: { value: false, description: sampleDesc, displayName: sampleName },
ignoreLockHintsOnIndexes: { value: false, description: sampleDesc, displayName: sampleName },
ignoreKeywordCasing: { value: false, description: sampleDesc, displayName: sampleName },
ignoreIndexPadding: { value: false, description: sampleDesc, displayName: sampleName },
ignoreIndexOptions: { value: false, description: sampleDesc, displayName: sampleName },
ignoreIncrement: { value: false, description: sampleDesc, displayName: sampleName },
ignoreIdentitySeed: { value: false, description: sampleDesc, displayName: sampleName },
ignoreUserSettingsObjects: { value: false, description: sampleDesc, displayName: sampleName },
ignoreFullTextCatalogFilePath: { value: false, description: sampleDesc, displayName: sampleName },
ignoreWhitespace: { value: false, description: sampleDesc, displayName: sampleName },
ignoreWithNocheckOnForeignKeys: { value: false, description: sampleDesc, displayName: sampleName },
verifyCollationCompatibility: { value: false, description: sampleDesc, displayName: sampleName },
unmodifiableObjectWarnings: { value: false, description: sampleDesc, displayName: sampleName },
treatVerificationErrorsAsWarnings: { value: false, description: sampleDesc, displayName: sampleName },
scriptRefreshModule: { value: false, description: sampleDesc, displayName: sampleName },
scriptNewConstraintValidation: { value: false, description: sampleDesc, displayName: sampleName },
scriptFileSize: { value: false, description: sampleDesc, displayName: sampleName },
scriptDeployStateChecks: { value: false, description: sampleDesc, displayName: sampleName },
scriptDatabaseOptions: { value: false, description: sampleDesc, displayName: sampleName },
scriptDatabaseCompatibility: { value: false, description: sampleDesc, displayName: sampleName },
scriptDatabaseCollation: { value: false, description: sampleDesc, displayName: sampleName },
runDeploymentPlanExecutors: { value: false, description: sampleDesc, displayName: sampleName },
registerDataTierApplication: { value: false, description: sampleDesc, displayName: sampleName },
populateFilesOnFileGroups: { value: false, description: sampleDesc, displayName: sampleName },
noAlterStatementsToChangeClrTypes: { value: false, description: sampleDesc, displayName: sampleName },
includeTransactionalScripts: { value: false, description: sampleDesc, displayName: sampleName },
includeCompositeObjects: { value: false, description: sampleDesc, displayName: sampleName },
allowUnsafeRowLevelSecurityDataMovement: { value: false, description: sampleDesc, displayName: sampleName },
ignoreWithNocheckOnCheckConstraints: { value: false, description: sampleDesc, displayName: sampleName },
ignoreFillFactor: { value: false, description: sampleDesc, displayName: sampleName },
ignoreFileSize: { value: false, description: sampleDesc, displayName: sampleName },
ignoreFilegroupPlacement: { value: false, description: sampleDesc, displayName: sampleName },
doNotAlterReplicatedObjects: { value: false, description: sampleDesc, displayName: sampleName },
doNotAlterChangeDataCaptureObjects: { value: false, description: sampleDesc, displayName: sampleName },
disableAndReenableDdlTriggers: { value: false, description: sampleDesc, displayName: sampleName },
deployDatabaseInSingleUserMode: { value: false, description: sampleDesc, displayName: sampleName },
createNewDatabase: { value: false, description: sampleDesc, displayName: sampleName },
compareUsingTargetCollation: { value: false, description: sampleDesc, displayName: sampleName },
commentOutSetVarDeclarations: { value: false, description: sampleDesc, displayName: sampleName },
blockWhenDriftDetected: { value: false, description: sampleDesc, displayName: sampleName },
blockOnPossibleDataLoss: { value: false, description: sampleDesc, displayName: sampleName },
backupDatabaseBeforeChanges: { value: false, description: sampleDesc, displayName: sampleName },
allowIncompatiblePlatform: { value: false, description: sampleDesc, displayName: sampleName },
allowDropBlockingAssemblies: { value: false, description: sampleDesc, displayName: sampleName },
dropConstraintsNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropDmlTriggersNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropExtendedPropertiesNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropIndexesNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
ignoreFileAndLogFilePath: { value: false, description: sampleDesc, displayName: sampleName },
ignoreExtendedProperties: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDmlTriggerState: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDmlTriggerOrder: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDefaultSchema: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDdlTriggerState: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDdlTriggerOrder: { value: false, description: sampleDesc, displayName: sampleName },
ignoreCryptographicProviderFilePath: { value: false, description: sampleDesc, displayName: sampleName },
verifyDeployment: { value: false, description: sampleDesc, displayName: sampleName },
ignoreComments: { value: false, description: sampleDesc, displayName: sampleName },
ignoreColumnCollation: { value: false, description: sampleDesc, displayName: sampleName },
ignoreAuthorizer: { value: false, description: sampleDesc, displayName: sampleName },
ignoreAnsiNulls: { value: false, description: sampleDesc, displayName: sampleName },
generateSmartDefaults: { value: false, description: sampleDesc, displayName: sampleName },
dropStatisticsNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropRoleMembersNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropPermissionsNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
dropObjectsNotInSource: { value: false, description: sampleDesc, displayName: sampleName },
ignoreColumnOrder: { value: false, description: sampleDesc, displayName: sampleName },
doNotDropObjectTypes: { value: [], description: sampleDesc, displayName: sampleName },
excludeObjectTypes: { value: [], description: sampleDesc, displayName: sampleName },
ignoreTablePartitionOptions: { value: false, description: sampleDesc, displayName: sampleName },
doNotEvaluateSqlCmdVariables: { value: false, description: sampleDesc, displayName: sampleName },
disableParallelismForEnablingIndexes: { value: false, description: sampleDesc, displayName: sampleName },
disableIndexesForDataPhase: { value: false, description: sampleDesc, displayName: sampleName },
restoreSequenceCurrentValue: { value: false, description: sampleDesc, displayName: sampleName },
rebuildIndexesOfflineForDataPhase: { value: false, description: sampleDesc, displayName: sampleName },
isAlwaysEncryptedParameterizationEnabled: { value: false, description: sampleDesc, displayName: sampleName },
preserveIdentityLastValues: { value: false, description: sampleDesc, displayName: sampleName },
allowExternalLibraryPaths: { value: false, description: sampleDesc, displayName: sampleName },
allowExternalLanguagePaths: { value: false, description: sampleDesc, displayName: sampleName },
hashObjectNamesInLogs: { value: false, description: sampleDesc, displayName: sampleName },
doNotDropWorkloadClassifiers: { value: false, description: sampleDesc, displayName: sampleName },
ignoreWorkloadClassifiers: { value: false, description: sampleDesc, displayName: sampleName },
ignoreDatabaseWorkloadGroups: { value: false, description: sampleDesc, displayName: sampleName },
doNotDropDatabaseWorkloadGroups: { value: false, description: sampleDesc, displayName: sampleName }
};
return defaultOptions;
}
export const mockDacFxOptionsResult: mssql.DacFxOptionsResult = {
success: true,
errorMessage: '',
deploymentOptions: {
ignoreTableOptions: false,
ignoreSemicolonBetweenStatements: false,
ignoreRouteLifetime: false,
ignoreRoleMembership: false,
ignoreQuotedIdentifiers: false,
ignorePermissions: false,
ignorePartitionSchemes: false,
ignoreObjectPlacementOnPartitionScheme: false,
ignoreNotForReplication: false,
ignoreLoginSids: false,
ignoreLockHintsOnIndexes: false,
ignoreKeywordCasing: false,
ignoreIndexPadding: false,
ignoreIndexOptions: false,
ignoreIncrement: false,
ignoreIdentitySeed: false,
ignoreUserSettingsObjects: false,
ignoreFullTextCatalogFilePath: false,
ignoreWhitespace: false,
ignoreWithNocheckOnForeignKeys: false,
verifyCollationCompatibility: false,
unmodifiableObjectWarnings: false,
treatVerificationErrorsAsWarnings: false,
scriptRefreshModule: false,
scriptNewConstraintValidation: false,
scriptFileSize: false,
scriptDeployStateChecks: false,
scriptDatabaseOptions: false,
scriptDatabaseCompatibility: false,
scriptDatabaseCollation: false,
runDeploymentPlanExecutors: false,
registerDataTierApplication: false,
populateFilesOnFileGroups: false,
noAlterStatementsToChangeClrTypes: false,
includeTransactionalScripts: false,
includeCompositeObjects: false,
allowUnsafeRowLevelSecurityDataMovement: false,
ignoreWithNocheckOnCheckConstraints: false,
ignoreFillFactor: false,
ignoreFileSize: false,
ignoreFilegroupPlacement: false,
doNotAlterReplicatedObjects: false,
doNotAlterChangeDataCaptureObjects: false,
disableAndReenableDdlTriggers: false,
deployDatabaseInSingleUserMode: false,
createNewDatabase: false,
compareUsingTargetCollation: false,
commentOutSetVarDeclarations: false,
blockWhenDriftDetected: false,
blockOnPossibleDataLoss: false,
backupDatabaseBeforeChanges: false,
allowIncompatiblePlatform: false,
allowDropBlockingAssemblies: false,
dropConstraintsNotInSource: false,
dropDmlTriggersNotInSource: false,
dropExtendedPropertiesNotInSource: false,
dropIndexesNotInSource: false,
ignoreFileAndLogFilePath: false,
ignoreExtendedProperties: false,
ignoreDmlTriggerState: false,
ignoreDmlTriggerOrder: false,
ignoreDefaultSchema: false,
ignoreDdlTriggerState: false,
ignoreDdlTriggerOrder: false,
ignoreCryptographicProviderFilePath: false,
verifyDeployment: false,
ignoreComments: false,
ignoreColumnCollation: false,
ignoreAuthorizer: false,
ignoreAnsiNulls: false,
generateSmartDefaults: false,
dropStatisticsNotInSource: false,
dropRoleMembersNotInSource: false,
dropPermissionsNotInSource: false,
dropObjectsNotInSource: false,
ignoreColumnOrder: false,
doNotDropObjectTypes: [],
excludeObjectTypes: []
}
deploymentOptions: getDeploymentOptions()
};
export class MockDacFxService implements mssql.IDacFxService {