cake-contrib/Cake.SqlPackage

Good effort!

Closed this issue · 6 comments

Hey, I also wanted to touch base with you.
I'm a author of Cake.SqlServer package and some of my functionality is overlapping with what you do here.

However I'm using DacFx package and not having much success. I see you are using SqlPackage.exe and I suppose this makes more sense. I was looking for options for me not having to carry DacFx package around: it bloats my nuget package from a few kb to 4Mb, and adds a nasty warning message on every Cake execution.

What do you think if I depricate my DacFx functionality and redirect people to use your package?

@trailmax I wrapped SqlPackage.exe in Cake.SqlPackage because I am currently using SqlPackage.exe to deploy my databases.

I would hate for your efforts to have been wasted, I am fine if you decide you want to point users of Cake.SqlServer here as an alternative. I would ask that you verify that this repo has everything required, and functions as you expect.

To be honest, I've done very little code to work with BACPAC. DACPAC stuff was a pull request from @mabreuortega. Perhaps he should be doing the reviews and also involved in this chat as I'd imagine he is using DACPACs in his build.

Of course if I decide to direct users here, I'll need to provide a migration plan and that can take a while - not doing this any time soon. And yes, I'll need to migrate my projects first and make sure everything works as expected -)

My only problem with using SqlPackage.exe is the case when it is not installed on the executing machine. Is there a NuGet package that has SqlPackage.exe with dependencies? (Is this even possible?)

What do you need from me, I can help you with any question.

@mabreuortega Can you possibly try this package for your DACPAC build needs? I don't have any projects with DACPAC, so can't really try in real-life.

Will do, I will keep you posted here

@mabreuortega

Microsoft.Data.Tools.Msbuild is a nuget package that delivers SqlPackage.exe. If you look at the example in this repo, you should find everything you need to get started. I did not explicitly add the tool path for the nuget package, but it's on my list of things to do. Please let me know if you run into any issues.