Update upating_unit3d_version.md

This commit is contained in:
RKeaves 2025-04-29 01:41:08 -05:00
parent 0bfe996507
commit ee26141ffc
1 changed files with 18 additions and 80 deletions

View File

@ -5,33 +5,23 @@ This guide walks you through updating UNIT3D from `v8.3.3` to `v9.0.1` and upgra
> [!IMPORTANT]
> Ensure you have a complete backup before proceeding.
## 1. Prerequisites
- **Backup** located in `~/tempBackup`
- **Sudo** privileges.
- **Current versions**:
- `UNIT3D`: `v8.3.3`
- `PHP`: `8.3`
- **Tools**:
```text
curl, apt, nginx, mysql/mariadb, nano
```
## 2. Create Backup
## 1. Create Backup
UNIT3D offers built-in backups. Refer to the Backups page in this wiki for usage.
> [!IMPORTANT]
> Verify your backups before continuing.
## 3. Enter Maintenance Mode
## 2. Enter Maintenance Mode
```bash
cd /var/www/html
php artisan down
```
## 4. Update Meilisearch
## 3. Update Meilisearch
- **Stop** the service and install the latest Meilisearch:
```bash
sudo apt update
@ -42,85 +32,33 @@ sudo mv ./meilisearch /usr/local/bin/
sudo chmod +x /usr/local/bin/meilisearch
sudo rm -rf /var/lib/meilisearch/data
```
Proceed with the following command:
> **Note:**
> This step had to be repeated.
- **Restart** Meilisearch:
```bash
sudo chmod +x /usr/local/bin/meilisearch
sudo systemctl start meilisearch
```
### 2.2 Update PHP to 8.4
## 4. Update PHP
Add PHP Repository & Update Package Lists:
- **Refer** to the **Upgrading PHP Version** documentation.
```bash
sudo add-apt-repository ppa:ondrej/php
sudo apt update
```
Backup Current PHP Packages & Install PHP 8.4:
## 5. Update UNIT3D
```bash
sudo dpkg -l | grep php | tee ~/tempBackup/packages.txt
sudo apt install php8.4-common php8.4-cli php8.4-fpm php8.4-{redis,bcmath,curl,dev,gd,igbinary,intl,mbstring,mysql,opcache,readline,xml,zip}
```
### 2.3 NGINX Configuration Update
#### **Edit Nginx configuration file:**
```bash
sudo nano /etc/nginx/sites-available/default
```
#### **Update the `fastcgi_pass` directive to use the PHP 8.4 socket:**
> **Note:**
> Locate the line
> ```nginx
> fastcgi_pass unix:/var/run/php/***.sock;
> ```
> and replace `***` with your sites identifier.
For example, to point to the PHP 8.4 FPM socket:
```nginx
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
```
Save and exit the editor.
#### **Test the Nginx configuration:**
```bash
sudo nginx -t
```
#### **Restart Nginx and PHP-FPM, and Remove PHP 8.3:**
```bash
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl restart php8.4-fpm
sudo systemctl stop php8.3-fpm
sudo apt purge '^php8.3.*'
php -v
```
## 3. Update UNIT3D
- **Proceed** to update UNIT3D after completing the PHP upgrade steps:
```bash
cd /var/www/html
php artisan git:update
```
During the update process, UNIT3D differences all files and prompts the user to choose whether to keep the current version or update to the new one; typically, it is recommended to update all files, but before beginning the update, the most recent backup should be copied to `~/tempBackup`, and after the update, the list of file conflicts is saved as `~/tempBackup/fileConflicts.txt` so that, once the process is complete, these files can be reviewed to determine which changes should be merged or discarded.
### 4. Database Migration Fix
During the update, UNIT3D shows file differences and prompts you to keep or update each file. It is recommended to update all files. Before starting, copy the latest backup to `~/tempBackup`. After the update, file conflicts are saved to `~/tempBackup/fileConflicts.txt` for review and merging if needed.
During the update, you might encounter an error related to the tickets table
## 6. Database Migration Fix
During the update, you might encounter an error related to the tickets table:
```sql
2025_02_17_074140_update_columns_to_boolean ......................................................................................... 38.50ms FAIL
@ -134,7 +72,7 @@ In Connection.php line 571:
**Resolve NULL values in tickets table:**
1. Log in to MySQL:
### 1. Log in to MySQL:
```bash
mysql -u your_username -p
@ -146,7 +84,7 @@ When prompted, enter your MySQL password. Once logged in, select the appropriate
USE your_database_name;
```
1. Fix the Null Values:
2. Fix the Null Values:
Run the following SQL command to update any null entries in the `staff_read` column to 0:
@ -154,13 +92,13 @@ USE your_database_name;
UPDATE tickets SET staff_read = 0 WHERE staff_read IS NULL;
```
9. Exit MySQL:
3. Exit MySQL:
```sql
exit;
```
2. Complete migrations:
4. Complete migrations:
```bash
php artisan migrate
```