Nupkg Package Size
shanejokeeffe
Posts: 19 New member
Along with TeamCity, I'm trialling Deployment Manager and the SQL Automation Pack. For application building and deployment everything is going well but I'm having some issues with automating the database side of things.
I've installed the TeamCity plugin and I have a build step using the Red Gate runner that I've configured to Generate Upgrade Scripts and also Create a Database Package into Deployment Manager.
The issue I'm having is that the nupkg files begin generated as part of the database build step are pretty big at around 300Mb. There are a lot of objects in the database but given a minor changeset (one stored procedure change), I don't understand the size of the files. Am I setting this up correctly?
Regards,
Shane.
I've installed the TeamCity plugin and I have a build step using the Red Gate runner that I've configured to Generate Upgrade Scripts and also Create a Database Package into Deployment Manager.
The issue I'm having is that the nupkg files begin generated as part of the database build step are pretty big at around 300Mb. There are a lot of objects in the database but given a minor changeset (one stored procedure change), I don't understand the size of the files. Am I setting this up correctly?
Regards,
Shane.
Comments
Thanks for trying out Deployment Manager.
The packages that we create for databases are not incremental; they don't just contain the changes, they contain a snapshot of the entire database state (including any static data you've defined). This allows the package to be used to update any version of the database to the appropriate state.
There is more information about the way database deployments work in this page of the documentation
Redgate Software
Following on from that, does this mean that if I have deployed v1.1.10 to production, produce a number of test builds and then at a later date attempt to upgrade production directly to v1.1.20 that it will upgrade all of the bits in between?
Redgate Software
I'm still curious as to why the size of the package is so large though.
This database has roughly the following objects and I am not including any data in TFS:
Tables: 200
SPs: 700
Triggers: 150
Views: 100
The Database folder generated by SQL Source Control into TFS is only 5Mb - why is the NuGet package over 300Mb?
These scripts are only used for static upgrade mode, so if you're using dynamic upgrades you don't necessarily need to generate them.
You can check the contents of the package file if you want; if you change the file extension from .nupkg to .zip, Windows Explorer will let you navigate into the package and see what files are included. That might help you work out why they're so big.
Redgate Software
By looking in the package contents, I could see that in the state folders, all of the contents of the BuildCheckOut directory in TeamCity were being included. This build configuration also builds a number of .net applications so those files (binaries and all) were being added to the package.
I changed the path in the Red Gate TeamCity plugin to not use the root path of my VCS setup and now the database package sizes are a much more manageable 2mb.
Thanks again for the assistance!
Shane.