Perform Migration on Host?

Just thinking out loud here and music whether this is doable.

I have a couple of clients who run staging servers which are fairly low spec to keep cost down given their low usage. One of the downsides is that migrations can take some time to run, which is a nuisance if I want to do rapid staging updates.

Is there any feasability of having an option on a deployment to rather than carry out the DMT migration on host, instead pull the current version back to host (which is a much faster server mind you) so that the migration can be carried out there instead?

In this case I can see the process of pulling it back, DMT, and then pushing the new version up to staging server would actually be faster than a single push of the new version and DMT on staging server.

Thoughts? This is not strictly a feature request saying I want it, but more looking for feedback on whether this is doable, simple or hard, and whether others would find this beneficial?

Hey Daniel,

You could probably set this up using chained deployments to do as you described. You’d need 3 sub-deployments across 2 deployments:

  • Deployment 1:
  1. run an install on your faster server to duplicate the files (ie. turn solution_prod into solution_staging)
  2. run a migration of your dev or staging file (whichever you’re trying to get the schema for onto the staging server)
  • Deployment 2
  1. Run an install of the files from your prod server down to the staging server.

This strategy does require using chained actions, a feature that is only available in the OttoFMS developer API, not in the UI of OttoDeploy. You can use OttoDeploy to set up the Deployments and copy the JSON for your API calls.

Does that sound like it would get you what you need?

-Kyle