Answers.Body: <p>What I tend to do is:</p>
  
  <ol>
  <li>if the upgrade is on my extensions page within the UI then I try
  upgrading from the UI (obvioulsy on test first as you mention).</li>
  <li>if there is no upgrade on my extension page, I tend to download a
  release rather than link the production site directly to the master
  branch on GitHub. I tend to do that only in test. I am sure there
  are pros and cons for pulling directly but this is what I do.  </li>
  <li>if the extension is a tiny one and I know for a fact the impact is
  minimal I replace the extension directory with the extracted new release without disabling first.</li>
  <li>if I know the extension is a bit bigger I will disable first, then extract and replace the extension directory and enable again.</li>
  </ol>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-27T17:04:49.570Z
Answers.Text: aha... that's really helpful in terms of what to do on the dev site - if I'm understanding correctly. But then, I'm wondering what to then do on the live site after pushing the new code to the live site. I can't use the upgrade button on the live site without causing a git conflict. (as far as my rather limited understanding of git goes :-)  )
Answers.UserDisplayName: Andyg8
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-27T17:06:39.210Z
Answers.Text: That is probably right. If I was using git on live I would probably disable and then pull. But be careful I was pulling the correct release/commit
Answers.UserDisplayName: ErikH - CiviCooP
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-27T13:20:52.950Z
Answers.LastActivityDate: 2017-11-27T13:20:52.950Z
Answers.UserDisplayName: ErikH - CiviCooP
Body: <p>We use a development site and github.com repository, and then pull from github.com down to our live site. </p>
  
  <p>So when upgrading our extensions we update the code on our dev site, test it's all ok, then push it to github.com, ready to pull it down to our live site.</p>
  
  <p>What's the correct thing to do on the live site in this case? Disable the extension before downloading the code and then re-enable it? Or what?</p>
  
  <p>Apologies if my searching missed this in an obvious part of the documentation or elsewhere.</p>
  
  <p>We're on Civi 4.7.27 and Drupal 7.56</p>
  
Tags: <extension><developer>
Title: what is the correct method for upgrading an extension on a live site after pulling its updated code from a development site?
ThreadText: # what is the correct method for upgrading an extension on a live site after pulling its updated code from a development site?
  
  (Asked by: username_0 on 2017-11-26)
  
  We use a development site and github.com repository, and then pull from github.com down to our live site.
  
  So when upgrading our extensions we update the code on our dev site, test it's all ok, then push it to github.com, ready to pull it down to our live site.
  
  What's the correct thing to do on the live site in this case? Disable the extension before downloading the code and then re-enable it? Or what?
  
  Apologies if my searching missed this in an obvious part of the documentation or elsewhere.
  
  We're on Civi 4.7.27 and Drupal 7.56
  
  **Tags:** extension, developer
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2017-11-27. Score: 1
  
  What I tend to do is:
  
  1. if the upgrade is on my extensions page within the UI then I try
     upgrading from the UI (obvioulsy on test first as you mention).
  2. if there is no upgrade on my extension page, I tend to download a
     release rather than link the production site directly to the master
     branch on GitHub. I tend to do that only in test. I am sure there
     are pros and cons for pulling directly but this is what I do.
  3. if the extension is a tiny one and I know for a fact the impact is
     minimal I replace the extension directory with the extracted new release without disabling first.
  4. if I know the extension is a bit bigger I will disable first, then extract and replace the extension directory and enable again.
  
  > **Comments:**
  > **username_0**: aha... that's really helpful in terms of what to do on the dev site - if I'm understanding correctly. But then, I'm wondering what to then do on the live site after pushing the new code to the live site. I can't use the upgrade button on the live site without causing a git conflict. (as far as my rather limited understanding of git goes :-)  )  
  > **username_1**: That is probably right. If I was using git on live I would probably disable and then pull. But be careful I was pulling the correct release/commit  
  
  ---
  
  