microsoft / microsoft/DacFx

SqlSchemaCompare target uses property names that are reserved

Open
#439 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C#
Stars
460
Forks
29
Avg merge
4d 9h
Merged PRs (30d)
7

Description

- SqlPackage or DacFx Version: Microsoft.Build.Sql 0.1.15-preview and SSDT targets from VS 17.9.6
- .NET Framework (Windows-only) or .NET Core: both
- Environment (local platform and source/target platforms): windows

**Steps to Reproduce:**

1. `msbuild /t:SqlSchemaCompare /p:Source=path\to\dacpac1 /p:Target=(path\to\dacpac2 or connectionstring) project.sqlproj`
2. there is no compare output

**Did this occur in prior versions? If not - which version(s) did it work in?**
I dont think this was working correctly ever.

this behaves as follows, no target is executed since /p:Target overrites /t: there is no way to set this parameter, the only way to pass the target is through scmp file passed through /p:SqlScmpFilePath

Source `microsoft.build.sql\0.1.15-preview\tools\netstandard2.1\Microsoft.Data.Tools.Schema.SqlTasks.targets` around line 900

I want to use compare this way because I intend to use AdditionalDeploymentContributors, to exclude some objects using their name not type and I dont think I can set this in a GUI version of a compare tool

Contributor guide

Open the contributing guide

Research direction

Start with Microsoft.Data.Tools.Schema.SqlTasks.targets around line 900 and reproduce the issue using the documented msbuild SqlSchemaCompare command. Trace how Source and Target are interpreted, including the SqlScmpFilePath alternative. Done means the schema comparison target executes with a usable target input and produces compare output.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, sql
Domain
build-system, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.