mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-13 17:23:02 -05:00
use a config for table designer trigger behavior (#2070)
This commit is contained in:
@@ -14,5 +14,10 @@ namespace Microsoft.SqlTools.ServiceLayer.SqlContext
|
|||||||
/// Whether the database model should be preloaded to make the initial launch quicker.
|
/// Whether the database model should be preloaded to make the initial launch quicker.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool PreloadDatabaseModel { get; set; } = false;
|
public bool PreloadDatabaseModel { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whether the table designer should allow disabling and re-enabling DDL triggers during publish.
|
||||||
|
/// </summary>
|
||||||
|
public bool AllowDisableAndReenableDdlTriggers {get; set; } = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner
|
|||||||
internal Task UpdateSettings(SqlToolsSettings newSettings, SqlToolsSettings oldSettings, EventContext eventContext)
|
internal Task UpdateSettings(SqlToolsSettings newSettings, SqlToolsSettings oldSettings, EventContext eventContext)
|
||||||
{
|
{
|
||||||
Settings.PreloadDatabaseModel = newSettings.MssqlTools.TableDesigner != null ? newSettings.MssqlTools.TableDesigner.PreloadDatabaseModel : false;
|
Settings.PreloadDatabaseModel = newSettings.MssqlTools.TableDesigner != null ? newSettings.MssqlTools.TableDesigner.PreloadDatabaseModel : false;
|
||||||
|
Settings.AllowDisableAndReenableDdlTriggers = newSettings.MssqlTools.TableDesigner != null ? newSettings.MssqlTools.TableDesigner.AllowDisableAndReenableDdlTriggers : true;
|
||||||
return Task.FromResult(0);
|
return Task.FromResult(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1801,11 +1802,12 @@ namespace Microsoft.SqlTools.ServiceLayer.TableDesigner
|
|||||||
connectionStringBuilder.InitialCatalog = tableInfo.Database;
|
connectionStringBuilder.InitialCatalog = tableInfo.Database;
|
||||||
connectionStringBuilder.ApplicationName = ConnectionService.GetApplicationNameWithFeature(connectionStringBuilder.ApplicationName, TableDesignerService.TableDesignerApplicationNameSuffix);
|
connectionStringBuilder.ApplicationName = ConnectionService.GetApplicationNameWithFeature(connectionStringBuilder.ApplicationName, TableDesignerService.TableDesignerApplicationNameSuffix);
|
||||||
var connectionString = connectionStringBuilder.ToString();
|
var connectionString = connectionStringBuilder.ToString();
|
||||||
|
var tableDesignerOptions = new Dac.TableDesignerOptions(disableAndReenableDdlTriggers: Settings.AllowDisableAndReenableDdlTriggers);
|
||||||
|
|
||||||
// Set Access Token only when authentication mode is not specified.
|
// Set Access Token only when authentication mode is not specified.
|
||||||
var accessToken = connectionStringBuilder.Authentication == SqlAuthenticationMethod.NotSpecified
|
var accessToken = connectionStringBuilder.Authentication == SqlAuthenticationMethod.NotSpecified
|
||||||
? tableInfo.AccessToken : null;
|
? tableInfo.AccessToken : null;
|
||||||
tableDesigner = new Dac.TableDesigner(connectionString, accessToken, tableInfo.Schema, tableInfo.Name, tableInfo.IsNewTable);
|
tableDesigner = new Dac.TableDesigner(connectionString, accessToken, tableInfo.Schema, tableInfo.Name, tableInfo.IsNewTable, tableDesignerOptions);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user