Support composite database projects
See original GitHub issueThis issue is a rough idea for reverse engineering a database context from a composite database project.
A composite database project is the aggregate of multiple, smaller and reusable DACPACs. For example, a shared DACPAC contains a table called User
, which is used accross multiple applications that access the same database. Instead of defining the table User
in every application’s database project, the table is provided in the DACPAC. This DACPAC gets referenced by the application database projects.
When reverse engineering the composite application database project, I’d like to include the User
table from the shared DACPAC in the same data context.
The only way to do this right now is to deploy the composite database project with all dependencies to a database, and reverse engineer from there.
With this issue, I’d like to suggest to “somehow” skip this deployment step, and directly create a composite database context from the composite database project.
Issue Analytics
- State:
- Created 4 years ago
- Comments:32 (31 by maintainers)
Top GitHub Comments
@Herdo OK, I think I finally figured it out:
Create a method in SqlServerDacpacdatabaseModelFactory = dacpacPath = TryGetReferences(dacpacPath);
1: Recursively look for any external references using https://github.com/GoEddie/Dacpac-References code
2: If there are any, merge all references into a new temporary master (a copy of the selected dacpac), using https://github.com/GoEddie/DacpacMerge code and return new name ortherwise just return original name
Thanks, otherwise I would need a folder with .dacpac files from you! 😄