anchor.diff:        BlockOnPossibleDataLoss = true
         DropObjectsNotInSource = false
         RecreateDb = false
  -      AdditionalSqlPackageProperties = [] }
  +      AdditionalSqlPackageProperties = []
  +      Variables = [] }
   
   module PropertyKeys =
       /// When creating a new SQL Azure database, specifies the database service tier to use e.g. S2, P1
  
positive.code:           
      shellExec {
          Program = args.SqlPackageToolPath
          CommandLine = sprintf """/Action:%s /SourceFile:"%s" /TargetConnectionString:"%s" %s /p:BlockOnPossibleDataLoss=%b /p:DropObjectsNotInSource=%b /p:CommandTimeout=%d /p:CreateNewDatabase=%b %s""" action args.Source args.Destination outputPath args.BlockOnPossibleDataLoss args.DropObjectsNotInSource args.Timeout args.RecreateDb additionalParameters
          WorkingDirectory = ""
          Args = [] }
  
  
negative.code:     /// Recreates the database from scratch on publish (rather than an in-place update). Defaults to false.
      RecreateDb : bool
      /// Additional configuration parameters required by sqlpackage.exe
      AdditionalSqlPackageProperties : (string * string) list
      /// SQLCMD variables
      Variables : (string * string) list }
  
  let validPaths =
      let getSqlVersion (path:string) = path.Split '\\' |> Array.item 3 |> int
  