Upgrading PC Repair Tracker
- Backup everything!
- Backup fixit_db SQL DB
- Backup the stable, working copy of Repair Tracker via FTP
- Create a new staging environment for the test upgrade.
- Clone or copy the fixit_db database in phpMyAdmin.
- Copy the stable, working copy of Repair Tracker to a new folder (suggested name “staging”)
- In the staging folder, change the database credentials to the staging DB credentials in the following files:
- repair/deps.php
- store/deps.php
- timeclock/deps.php
- include/dbconn.php
- Move the upgrade script from the new PCRT version download (usually named databaseupgrade-NtoM.php where N is the previous version and M is the new).
- Navigate to the script path (from previous step) in your browser and click the link on the page to upgrade the DB.
- In whatever method you prefer, find all references to “//upcc_additions” in the stable, working copy of PCRT. An easy way to do this would be to download the entire PCRT directory and running a file search on the directory using something like Notepad++.
- Migrate these references (comments + code) to the staging environment. Some customizations may be simple copy/paste jobs and others may need to be refactored.
- Be sure to include the “//upcc_addition” comment as this is the best identifier for finding customizations in the code.
- The biggest change (as of v3) is to implement login sessions with BCRYPT instead of the default md5 + no sessions. <expand on this>
- Test.
- Test some more.
- Get another set of eyes on the staging environment.
- When testing is complete and you are ready to move the staging environment to the live environment:
- Wait until everyone is logged out of PCRT and gone home for the day. Weekends are best for upgrades.
- Repeat step 1.
- Move the stable, working copy of PCRT to a backup folder (suggested pcrtv#stable”, where # is the version number).
- Move contents of staging folder to root of public_html folder for fixit.universitypccare.com (usually via FTP).
- Make changes to the same files in step 3, but this time point them back at the live fixit_db database.
- Repeat step 4, but this time it will be on the live fixit_db database.
- Test again.
- Done!