We have an existing database and a DACPAC-based deployment procedure to send it schema updates at deploy time. The database has an existing partition function and existing partition schemes, and the application using the database will create new partition schemes at runtime.. Currently we see SSDT dropping the existing partitions and rebuilding the table. Column data is not lost but the application-created partition schemes are lost.
What can we do to stop SSDT from dropping existing partition schemes when we deploy the DACPAC to the existing database instance?
EDIT: We have already tried both "Ignore partition schemes" (suggested by https://dba.stackexchange.com/a/18826/23463) and "Ignore partition functions" (same advanced settings area). This did not change the outcome.
EDIT 2: All these options have been tried. Here's the message from my dbas:
This is about our app where Partitions are created at runtime. Anytime we apply master dacpac to DB it recreated partition functions and schemes dropping any partitions created at runtime. We tried: several options like below., based on docs they are supposed to work but not working
/p:ExcludeObjectType=PartitionSchemes
/p:ExcludeObjectType=PartitionFunctions
/p:IgnoreObjectPlacementOnPartitionScheme=true
/p:IgnorePartitionSchemes=true
/p:IgnoreTablePartitionOptions=true
/p:DoNotDropObjectType=PartitionSchemes
/p:DoNotDropObjectType=PartitionFunctions
Additional magic is needed to leave partitions alone:
/p:IgnoreIndexOptions=true /p:IgnoreTableOptions=true