Import, Migration & Maintenance Tools
Data Import
Data Import accepts an uploaded SQL file and applies it directly to your
database. The effective file limit is the server's configured upload/post
limit, which the screen displays; JoomLeague does not impose a smaller fixed
100 MB cap. The importer is deliberately restrictive for safety: only three kinds of
statements are allowed, and only against #__joomleague_* tables —
CREATE TABLE IF NOT EXISTSfor a#__joomleague_...tableCREATE [UNIQUE] INDEXon a#__joomleague_...tableINSERT INTOa#__joomleague_...table
Anything else in the uploaded SQL causes the whole import to be rejected before anything runs. The upload is also capped at your server's configured max upload size.
Inserts are duplicate-tolerant: on MySQL/MariaDB they're rewritten as
... ON DUPLICATE KEY UPDATE <col> = <col> (a no-op update), and on
PostgreSQL as ... ON CONFLICT DO NOTHING — so re-running the same import
twice won't fail or duplicate rows. The tool reports how many statements were
executed versus skipped (skipped = an insert that hit an existing
row and changed nothing).
This screen also powers the companion export feature reachable from
Database Tools below — the SQL it produces uses the same
format this importer expects, including a special
{{profile_version:<code>}} placeholder that gets resolved to the current
installation's active profile version ID for that sport-profile code at
import time. That makes exported data portable between installations even
if their internal profile-version IDs differ.
Migrations
This screen is a status and inspection view, not where migrations are run interactively. It shows two things:
- Migration batch history — every row previously recorded in this
installation's
#__joomleague_migration_batchtable, newest first. - Source inventory — a live inspection of the current database that classifies it (e.g. whether it looks like a legacy JoomLeague schema) and, where possible, detects the specific source version.
Legacy data conversion is performed by the external migration service, not from this screen. It is not a JoomLeague update and it does not make an older installation compatible with 6.2. The generated package belongs in a clean 6.2 test installation — see Converting legacy data.
Database Tools
Lists every installed #__joomleague_* table together with its current row
count. From here you can:
- Export one or more selected tables, or Export all, to a downloaded
SQL file (in the same format
Data Importaccepts). The export contains table structure and data; it is not rendered into the browser page. - Rebuild project assets — a repair operation with two effects:
- Removes orphaned Joomla ACL asset rows: it scans
#__assetsfor rows whose name starts with the raw table-name prefix pattern (left over from Joomla's default, unoverridden asset-name generation) and deletes any that aren't actually referenced by a project, competition, season, stage, round or match record. - Re-links every project record so it has a correctly named and parented
com_joomleague.project.<id>asset — this is what makes the per-project Permissions tab work correctly. It reports how many orphan assets were removed and how many projects were re-linked.
- Removes orphaned Joomla ACL asset rows: it scans
Diagnostics
A read-only environment report, useful when troubleshooting or filing a bug report. It shows:
- Database driver and version, and the number of installed
#__joomleague_*tables. - Installed component version.
- PHP version, plus the
upload_max_filesize,post_max_size,memory_limitandmax_execution_timeini settings. - Whether the
tmp,logand component cache directories are writable. - Whether demo-reset mode is enabled (controlled by the
JOOMLEAGUE_ALLOW_DEMO_RESETserver environment variable — not a setting you'll normally see turned on outside of a demo installation).