Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ScriptDatabaseCompatibility parameter silently ignored when ScriptDatabaseOptions = false #506

Open
HamsterExAstris opened this issue Oct 7, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@HamsterExAstris
Copy link

  • SqlPackage or DacFx Version: SqlPackage 62.4.92
  • .NET Framework (Windows-only) or .NET Core: .NET Core
  • Environment (local platform and source/target platforms):
    • Local platform: Windows 11
    • Source platform: DACPAC built from database project in Visual Studio 2022 v17.11.3
    • Target platform: Azure SQL Database and SQL Server LocalDB 16.0.1000.6

Steps to Reproduce:

  1. Create and build a database project with Compatibility Level 140 and a Target Platform of either "Microsoft Azure SQL Database" or "SQL Server 2022 or Microsoft Azure SQL Managed Instance"

  2. Publish the DACPAC with ScriptDatabaseOptions=false and ScriptDatabaseCompatibility=true

    sqlpackage /Action:Publish /SourceFile:"C:\TeamCity\repos\ScriptDatabaseCompatibilityTest\bin\Debug\Database.dacpac" /TargetConnectionString:"Data Source=(localdb)\mssqllocaldb;Integrated Security=true;Initial Catalog=testdb" /p:ScriptDatabaseCompatibility=true /p:ScriptDatabaseOptions:false

Expected Result:

Either:

  1. Database has the compatibility level specified in the database project/DACPAC applied to it. (i.e. the compatibility level is scripted but not other database options)

or

  1. A warning or error at runtime that the specified deployment options are incompatible with each other.
  2. The documentation for the ScriptDatabaseCompatibility parameter notes this dependency.

Actual Result:

New database: Database is created with the default compatibility level, with no error or warning at runtime and no note in the documentation.

Existing database: Database compatibility level is unchanged, with no error or warning at runtime and no note in the documentation.

Did this occur in prior versions? If not - which version(s) did it work in?
This is our first time trying to use this functionality.

@HamsterExAstris HamsterExAstris added the bug Something isn't working label Oct 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant