Upgrading
Upgrading a Laravix installation is one command. This article explains what that command does, how update notifications work, and what to do when an upgrade step fails.
Before you upgrade
- Back up the database. The upgrade runs migrations; a backup is your undo button.
- Read the changelog — Laravix is under active development and breaking changes are possible before the first stable release.
Running the upgrade
php artisan laravix:upgrade
The command shows your current version, asks you to confirm you've backed up (skip the prompt with --force), and then runs:
composer update laravix/cms --with-all-dependencies— pulls the newest core and compatible dependencies, and prints a table of changed package versions.php artisan migrate --force— applies new database migrations.php artisan vendor:publish --tag=laravix-assets --force— republishes the admin assets.php artisan filament:assets— rebuilds Filament's published assets.php artisan optimize:clear— clears the caches.
If the Composer step fails, nothing else is touched. If a later step fails, the command tells you which one — run the remaining steps from the list above manually.
Expected result: Laravix CMS upgraded: 1.x.x → 1.y.y.
Note: The command looks for Composer on the
PATH, then for acomposer.pharin the project root. You can also point it at a specific binary with theCOMPOSER_BINARYenvironment variable.
Update notifications in the admin
The admin panel checks Packagist for new laravix/cms releases (cached for 12 hours) and shows a banner with the upgrade command when one is available. To disable the check — for example on air-gapped servers — set:
CMS_UPDATE_CHECK=false
What the upgrade does not touch
- Your theme.
themes/belongs to you; the upgrade never overwrites it. New default-theme features arrive only in fresh installations — adopt them manually if you want them. - Your content and settings — apart from schema migrations, data stays as it is.
- Your custom code — app-level providers, resources and plugins are yours.
Troubleshooting
Composer reports version conflicts. Another dependency in your project pins something the new core needs. Inspect with composer why-not laravix/cms <version> and relax the conflicting constraint.
The admin looks broken after upgrading. Assets didn't republish. Run steps 3–5 manually and hard-refresh the browser.