Comments (1)
The reason for this bug is that the DacPackage
instances are loaded from a FileStream
.
When the packages are loaded from any Stream
, referenced DACPACs will be searched by an absolute path. This results in both the old DACPAC - which referenced the now missing column - and the new DACPAC - without the missing column - to reference the same shared DACPAC.
One expects the column, the other doesn't. This causes the error message shown the bug report.
To solve the issue, all calls to DacPackage.Load
have to be changed from the Steam
overload to the string
overload.
In that case, when resolving references during the script generation, DacFX will use relative paths, e.g. look for the referenced DACPAC in the same directory as the DACPAC to create the script for.
This way, the old DACPAC will use the old shared DACPAC with the now missing column still there, while the new DACPAC will use the new shared DACPAC where the column is missing.
With this, it's not possible to use any Streams
in tests. Therefore, tests for DacAccess
should be scrapped.
from ssdtlifecycleextension.
Related Issues (20)
- Open wiki documentation from configuration window
- Invalid configuration combination for RemoveSqlCmdStatements
- Incomplete error message
- Log copied files
- Improve name check HOT 1
- Wrong log output for copied files
- Log additional debug information when creating a script
- Close all windows when closing the solution
- Improve error messages for missing XML nodes
- Improve error message when failing to find publish profile
- Provide color scheme for logging
- Support different encodings
- ReplaceUnnamedDefaultConstraintDropsModifier creates wrong script
- Cannot create scripts HOT 6
- DependencyResolver.GetViewModel resolves wrong view model HOT 1
- Misleading error message for missing publish profile
- Support Visual Studio 2022 HOT 2
- Import configuration into project
- Copy DACPAC to shared repository
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ssdtlifecycleextension.