SQL Change Automation from Container / Docker
Jim_E
Posts: 2 New member
We are moving our CI/CD to a Linux based tool chain, we currently use the SQL Change Automation.
The step Invoke-DatabaseBuild Gives the following error when run from a Powershell in a Linux based (Redhat RBL9).
WARNING: System.PlatformNotSupportedException: Windows Principal functionality is not supported on this platform. at System.Security.Principal.WindowsIdentity.GetCurrent() at RedGate.Shared.OSAbstractions.WindowsIdentity.WindowsIdentityFactory.GetCurrent() at RedGate.Versioning.Automation.Shared.MachineInformationGetter.GetCurrentUser() at RedGate.Versioning.Automation.Shared.MachineInformationGetter.GetMachineInformation() at RedGate.Versioning.Automation.PowerShell.DlmAutomationCommandImpl`1.LogMachineInformation() at RedGate.Versioning.Automation.PowerShell.DlmAutomationCommandImpl`1.BeginProcessing() at RedGate.PowerShell.CommandBase`2.DelegateTo(Action doImplementation)
Unhandled exception. System.TypeLoadException: Could not load type 'System.Runtime.Remoting.RemotingServices' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at RedGate.Versioning.Automation.PowerShell.Logging.CmdletLog.ReleaseResources() at RedGate.Versioning.Automation.PowerShell.Logging.CmdletLog.Finalize()
I saw sqlcompare now supports containers, is it possible to run change automation from Linux? If not, is there an SQL compare command that can do the deploy to empty database step (LocalDB) in a similar way?
The step Invoke-DatabaseBuild Gives the following error when run from a Powershell in a Linux based (Redhat RBL9).
WARNING: System.PlatformNotSupportedException: Windows Principal functionality is not supported on this platform. at System.Security.Principal.WindowsIdentity.GetCurrent() at RedGate.Shared.OSAbstractions.WindowsIdentity.WindowsIdentityFactory.GetCurrent() at RedGate.Versioning.Automation.Shared.MachineInformationGetter.GetCurrentUser() at RedGate.Versioning.Automation.Shared.MachineInformationGetter.GetMachineInformation() at RedGate.Versioning.Automation.PowerShell.DlmAutomationCommandImpl`1.LogMachineInformation() at RedGate.Versioning.Automation.PowerShell.DlmAutomationCommandImpl`1.BeginProcessing() at RedGate.PowerShell.CommandBase`2.DelegateTo(Action doImplementation)
Unhandled exception. System.TypeLoadException: Could not load type 'System.Runtime.Remoting.RemotingServices' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at RedGate.Versioning.Automation.PowerShell.Logging.CmdletLog.ReleaseResources() at RedGate.Versioning.Automation.PowerShell.Logging.CmdletLog.Finalize()
I saw sqlcompare now supports containers, is it possible to run change automation from Linux? If not, is there an SQL compare command that can do the deploy to empty database step (LocalDB) in a similar way?
Tagged:
Answers
Unfortunately, SQL Change Automation is not supported within a Linux environment
To deploy a source database to a target, you simply need to synchronise: https://documentation.red-gate.com/sc/using-the-command-line/switches-used-in-the-command-line#Switchesusedinthecommandline-/Synchronize
Kind regards
Dan Calver | Redgate Software
Have you visited our Help Center?
Second step will be creating a Nuget package, how would the Build Nuget package step work with just SQL Compare?
As long as you can connect to the database, that should work.
Unfortunately, it wouldn't be possible to do the second step using SQL Compare as that's done using the SQL Change Automation PowerShell
Kind regards
Dan Calver | Redgate Software
Have you visited our Help Center?