Answers.Body: <p>I think that advice is somewhat outdated. Recently, CiviCRM has gotten better about upgrades, in fact the same command will upgrade both CiviCRM core + all installed extensions: <code>cv upgrade:db</code>. Extensions are internally sorted and upgraded in order of their dependencies. Not all extensions have <a href="https://github.com/civicrm/civicrm-core/pull/20090" rel="nofollow noreferrer">opted-in</a> to being sorted yet, but a lot of those don't have any dependencies so it's not a problem.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-22T12:19:37.100Z
Answers.LastActivityDate: 2023-08-22T12:19:37.100Z
Answers.UserDisplayName: Coleman
Body: <p>while the website documents the <a href="https://docs.civicrm.org/sysadmin/en/latest/upgrade/" rel="nofollow noreferrer">upgrading process</a> for civicrm itself, i noticed this seemed to touch less upon general tips for updating its extensions.</p>
  <p>now i've heard advice to in general first perform a process of 'update extension, run DB upgrades, clean caches' for the more basic extensions, to only then run similar steps for extensions built on top of those.</p>
  <p>i'd like to deploy civicrm using a docker container tho, with any extensions built into the container image. in that type of scenario, the above process would end up somewhat more cumbersome, as you'd end up having creating intermediate images to update only part of the extensions used.</p>
  <p>hence i was wondering, does the advice to only sequentially update civicrm extensions make sense? or should one generally be able to get away with deploying an image updating any used extensions to their newer versions?</p>
  
Tags: <upgrade><extension>
Title: containers and updating process for extensions
ThreadText: # containers and updating process for extensions
  
  (Asked by: username_0 on 2023-08-22)
  
  while the website documents the [upgrading process](https://docs.civicrm.org/sysadmin/en/latest/upgrade/) for civicrm itself, i noticed this seemed to touch less upon general tips for updating its extensions.
  
  now i've heard advice to in general first perform a process of 'update extension, run DB upgrades, clean caches' for the more basic extensions, to only then run similar steps for extensions built on top of those.
  
  i'd like to deploy civicrm using a docker container tho, with any extensions built into the container image. in that type of scenario, the above process would end up somewhat more cumbersome, as you'd end up having creating intermediate images to update only part of the extensions used.
  
  hence i was wondering, does the advice to only sequentially update civicrm extensions make sense? or should one generally be able to get away with deploying an image updating any used extensions to their newer versions?
  
  **Tags:** upgrade, extension
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2023-08-22. Score: 2 | Accepted answer
  
  I think that advice is somewhat outdated. Recently, CiviCRM has gotten better about upgrades, in fact the same command will upgrade both CiviCRM core + all installed extensions: `cv upgrade:db`. Extensions are internally sorted and upgraded in order of their dependencies. Not all extensions have [opted-in](https://github.com/civicrm/civicrm-core/pull/20090) to being sorted yet, but a lot of those don't have any dependencies so it's not a problem.
  
  
  ---
  
  