<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pixelrefraction.com/index.php?action=history&amp;feed=atom&amp;title=RefractTrack_Upgrading</id>
	<title>RefractTrack Upgrading - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pixelrefraction.com/index.php?action=history&amp;feed=atom&amp;title=RefractTrack_Upgrading"/>
	<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Upgrading&amp;action=history"/>
	<updated>2026-09-16T21:38:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Upgrading&amp;diff=140&amp;oldid=prev</id>
		<title>Nerdofepic: Created page with &quot;== Upgrading ==  This page covers moving an existing, already-installed RefractTrack up to a newer version. If you&#039;re setting RefractTrack up for the very first time, you want Getting Started instead.  Upgrading is a files-only operation — it never touches your database directly. Your projects, tasks, users, uploaded attachments, and settings are never copied over or replaced, since the new files simply sit down next to &lt;code&gt;config/&lt;/c...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.pixelrefraction.com/index.php?title=RefractTrack_Upgrading&amp;diff=140&amp;oldid=prev"/>
		<updated>2026-09-11T22:33:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Upgrading ==  This page covers moving an existing, already-installed RefractTrack up to a newer version. If you&amp;#039;re setting RefractTrack up for the very first time, you want &lt;a href=&quot;/index.php/RefractTrack_Getting_Started&quot; title=&quot;RefractTrack Getting Started&quot;&gt;Getting Started&lt;/a&gt; instead.  Upgrading is a files-only operation — it never touches your database directly. Your projects, tasks, users, uploaded attachments, and settings are never copied over or replaced, since the new files simply sit down next to &amp;lt;code&amp;gt;config/&amp;lt;/c...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Upgrading ==&lt;br /&gt;
&lt;br /&gt;
This page covers moving an existing, already-installed RefractTrack up to a newer version. If you&amp;#039;re setting RefractTrack up for the very first time, you want [[RefractTrack_Getting_Started|Getting Started]] instead.&lt;br /&gt;
&lt;br /&gt;
Upgrading is a files-only operation — it never touches your database directly. Your projects, tasks, users, uploaded attachments, and settings are never copied over or replaced, since the new files simply sit down next to &amp;lt;code&amp;gt;config/&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;uploads/&amp;lt;/code&amp;gt; without touching either. If the new version needs anything to change about the &amp;#039;&amp;#039;shape&amp;#039;&amp;#039; of the database (a new column, for example), that&amp;#039;s handled separately, automatically, the next time an admin logs in — see [[#Database updates|Database updates]] below.&lt;br /&gt;
&lt;br /&gt;
=== The upgrade script ===&lt;br /&gt;
&lt;br /&gt;
Every RefractTrack download includes an &amp;lt;code&amp;gt;upgrade.sh&amp;lt;/code&amp;gt; script for this, in two places:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;refracttrack/scripts/upgrade.sh&amp;lt;/code&amp;gt; — a short, no-questions-asked version for people comfortable typing a path or two on the command line.&lt;br /&gt;
* &amp;lt;code&amp;gt;refracttrack_server/upgrade.sh&amp;lt;/code&amp;gt; — a guided, prompt-you-for-everything version of the same thing, better if you&amp;#039;d rather not have to remember exact paths.&lt;br /&gt;
&lt;br /&gt;
Both do exactly the same underlying copy, and it&amp;#039;s safe to use either one — pick whichever fits how you like to work. This page walks through the guided version, since it explains itself as it goes.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;You&amp;#039;ll need root (administrator) access on the server to run either one&amp;#039;&amp;#039;&amp;#039; — the live install is normally owned by the web server&amp;#039;s own account (commonly &amp;lt;code&amp;gt;www-data&amp;lt;/code&amp;gt;), and only root can safely copy files into it while preserving that ownership.&lt;br /&gt;
&lt;br /&gt;
==== Running it ====&lt;br /&gt;
&lt;br /&gt;
# Download the new version and unzip it, the same way you did the first time — you should end up with a &amp;lt;code&amp;gt;refracttrack/&amp;lt;/code&amp;gt; folder and a &amp;lt;code&amp;gt;refracttrack_server/&amp;lt;/code&amp;gt; folder sitting next to each other.&lt;br /&gt;
# From that location, run &amp;lt;code&amp;gt;refracttrack_server/upgrade.sh&amp;lt;/code&amp;gt; as root.&lt;br /&gt;
# It&amp;#039;ll ask where the new code is (it defaults to the sibling &amp;lt;code&amp;gt;refracttrack/&amp;lt;/code&amp;gt; folder it just found, so you can usually just press enter).&lt;br /&gt;
# It&amp;#039;ll ask where your &amp;#039;&amp;#039;live&amp;#039;&amp;#039; install is. It tries to find this for you automatically by scanning your Apache configuration for a site that already looks like a RefractTrack install — if it finds exactly one, it&amp;#039;ll offer that as the default. If it finds none, or more than one, it&amp;#039;ll just ask you to type or paste the path.&lt;br /&gt;
# It shows you a preview of exactly what would change — every file that would be added, replaced, or removed — before it asks you to confirm anything. Nothing is copied yet at this point, so it&amp;#039;s a safe point to stop and double-check if something looks off.&lt;br /&gt;
# Once you confirm, it copies the new files over, &amp;#039;&amp;#039;&amp;#039;deliberately skipping your &amp;lt;code&amp;gt;config/&amp;lt;/code&amp;gt; folder and your &amp;lt;code&amp;gt;uploads/&amp;lt;/code&amp;gt; folder entirely&amp;#039;&amp;#039;&amp;#039; — your database credentials and every attachment your team has ever uploaded are untouched, by construction.&lt;br /&gt;
# It offers to fix up file ownership on the newly-copied files to match whatever your live install was already using, so you don&amp;#039;t end up with a permissions headache afterward.&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s it — no database step, no restart to remember, no service to bounce.&lt;br /&gt;
&lt;br /&gt;
=== Database updates ===&lt;br /&gt;
&lt;br /&gt;
Some versions of RefractTrack add something new to the database itself, not just to the application code — a new column to support a new feature, for example. When that happens, upgrading the files alone isn&amp;#039;t quite the whole story, but you don&amp;#039;t need to do anything special for it either:&lt;br /&gt;
&lt;br /&gt;
* The moment an admin next logs in after the file upgrade, RefractTrack notices the database is a step behind the code and automatically walks them through a one-click &amp;quot;Apply Update&amp;quot; screen. It&amp;#039;s quick, safe to run more than once if you&amp;#039;re not sure whether it already ran, and doesn&amp;#039;t require any command-line work.&lt;br /&gt;
* Everyone else just sees a brief &amp;quot;please wait, an update is being applied&amp;quot; message for the short window before an admin gets to that screen — nobody is locked out, and nothing is lost.&lt;br /&gt;
* If you&amp;#039;d rather trigger this from the command line as part of a deploy script instead of waiting for someone to click through a web page, there&amp;#039;s a CLI equivalent: &amp;lt;code&amp;gt;php scripts/migrate.php&amp;lt;/code&amp;gt;, run from inside the &amp;lt;code&amp;gt;refracttrack/&amp;lt;/code&amp;gt; folder. It&amp;#039;s safe to run this even if there&amp;#039;s nothing pending (it just does nothing), and it&amp;#039;s safe to run at the same time someone else happens to click through the web version — they won&amp;#039;t step on each other.&lt;br /&gt;
&lt;br /&gt;
Because the file copy and the database update are two separate, independent steps, there&amp;#039;s a brief window right after a file upgrade where the newly-copied code is running against an old-shaped database. RefractTrack is built to tolerate this gracefully rather than error out — but it&amp;#039;s still worth getting an admin to log in (and click through the update screen, if one appears) soon after upgrading, rather than leaving it for days.&lt;br /&gt;
&lt;br /&gt;
=== A quick note for older installs ===&lt;br /&gt;
&lt;br /&gt;
If your install has been running for a long time without ever having the &amp;lt;code&amp;gt;php-zip&amp;lt;/code&amp;gt; PHP extension (needed for the [[RefractTrack_Export_and_Import|zip backup system]]), an upgrade won&amp;#039;t install it for you automatically — upgrading is deliberately files-only and never touches installed system packages. If project backups stop working after an upgrade, that&amp;#039;s the first thing to check with your host (&amp;lt;code&amp;gt;apt-get install php-zip&amp;lt;/code&amp;gt; on a Debian/Ubuntu server, then a reload of PHP/Apache, is normally all it takes).&lt;br /&gt;
&lt;br /&gt;
=== Related pages ===&lt;br /&gt;
&lt;br /&gt;
* [[RefractTrack_Getting_Started|Getting Started]]&lt;br /&gt;
* [[RefractTrack_Automated_Server_Setup|Automated Server Setup]]&lt;br /&gt;
* [[RefractTrack_Export_and_Import|Export and Import]]&lt;br /&gt;
&lt;br /&gt;
[[Category:RefractTrack]]&lt;/div&gt;</summary>
		<author><name>Nerdofepic</name></author>
	</entry>
</feed>