What are the challenges you face when working across database platforms? Take the survey
Options

Rebaselining with a SQLClone baseline

Good Day,

We currently are using SCA to manage a very large and active database project. 
We originally set this up using a regular baseline script and added migrations as we went. 
The project is getting quite huge and unwieldly, so we are looking to rebaseline it to improve performance when working with builds and such on the project. 

One option we are considering is switching to using SQLClone as the baseline. I watched the video from Kendra (https://www.red-gate.com/blog/automated-rebaselining-with-sql-change-automation-clones) which addressed many of the questions we had, but there was something still not quite spelled out explicitly. 

If we upgrade the baseline image from production after a deployment, Kendra's demo showed that it would show all the new migrations added to the baseline as deployed per the migration log, which should protect builds and new deployments from trying to apply the baseline as well as the migrations already incorporated into the baseline. 

As one of the main reasons one might rebaseline a project is due to the expanding number of migration scripts, this process still left the now incorporated migrations in the project. 

Is it correct to say that the next step would be to delete the migrations from the project once added to the baseline to cut down on the number of migrations?

It seems this would be perfectly safe once the baseline has incorporated the migrations and would then allow us to cut down on the enormous list of migration scripts. 

I am building out a demonstration project to validate this, but if someone is able to sanity check me I would appreciate it. 

If I do come up with the answer before one of you lovely folks sees this I will go ahead and update here. 

Cheers,

Joe H.

Comments

  • Options
    Did you ever receive an answer or resolve your question?
    I'm attempting to rebaseline due to developments already applied to my target and those being incorporated in the development database, already. (I was in the process of setting up SCA and feature improvements were still being implemented, so here I am). 
    It seems it would be easier to either start a new sqlproj (which I'm less inclined to do), or rebaseline (which seems more manageable given a multiple user architecture).

    I'm not seeing much in terms of rebaselining other than "cloning" a lower environment with some potential data missing and switching the the databases by doing a rename. 

    However, I am curious about your question and what you did to resolve it, if this is something I may need to consider in the future.

    Thank you!
  • Options
    Hi @rshannonlislv

    I'm not seeing much in terms of rebaselining other than "cloning" a lower environment with some potential data missing and switching the databases by doing a rename. 
    Could you elaborate a little on this? I would expect the production database to be used to create the baseline, which would then be used to bump up newer environments up to the needed level

    Do you have any specific questions that I can assist with?

    Kind regards

    Dan Calver | Redgate Software
    Have you visited our 
    Help Center?

Sign In or Register to comment.