Standard upgrade path
1
Update the package
From your Laravel project root, with Composer authenticated to the private registry (Installation):
2
Run migrations
Apply any new tables or columns:In production, use your normal deploy flow (
--force when non-interactive).3
Run the upgrade command
Flex Forms bundles migrations and idempotent upgrade tasks (backfills, reindexes, health checks):This runs
migrate --force, executes pending upgrade tasks, and prints a health check for core tables.4
Republish assets when needed
After releases that touch Studio, fill, or embed JS/CSS, republish and refresh Filament assets:Or manually:
5
Clear caches
After config or env changes:
CI / CD
Add the same steps to your deploy pipeline aftercomposer install:
In CI, pass
--skip-migrate to flex-forms:upgrade only when you already ran migrate in an earlier step — the upgrade command calls migrate by default.cmp_… in CI secrets exactly as on Installation. Regenerating a Composer token in the portal requires updating every secret in the same change window.
Upgrade tasks
flex-forms:upgrade may run package-owned data tasks after migrate. Recent tasks include backfilling Integration Connections from legacy Google Sheets / Salesforce global credentials when a Connection does not exist yet (global credentials remain as a fallback). Applied tasks are recorded in flex_forms_upgrade_tasks so they are durable across cache clears. Use --dry-run to preview pending task ids before applying them.
Dry run (preview tasks)
See what upgrade tasks would run without executing them:--skip-migrate when you are ready to apply everything.
Useful flags:
Troubleshooting
Health check shows ✗ flex_forms or ✗ flex_form_submissions
Health check shows ✗ flex_forms or ✗ flex_form_submissions
Core tables are missing. Run:Confirm the database user can create tables. Read the failing migration name in the error output.
Studio loads but looks broken after upgrade
Studio loads but looks broken after upgrade
Republish assets (
php artisan flex-forms:upgrade --assets), hard-refresh the browser, and clear opcache if you use it in production.Upgrade task failed mid-run
Upgrade task failed mid-run
Fix the underlying issue (permissions, disk space, missing column), then re-run
php artisan flex-forms:upgrade. Tasks are idempotent — completed tasks are skipped on the next run.Do I need to re-enter my license key?
Do I need to re-enter my license key?
No. Your Public API key (
pk_forms_…) in Global Settings → License is unchanged by package upgrades. Re-register domains only when you add new hostnames.401 from composer.bjanczak.com during update
401 from composer.bjanczak.com during update
Composer token missing or revoked. Re-copy Install via Composer from the License Portal and update CI/server
auth.json.