Import, Migration & Maintenance Tools
Data Import
Data Import accepts a block of SQL text and applies it directly to your
database. It's 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 pasted 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.
Actually converting an existing JoomLeague 0.93/1.5/2.5/3/V6/6.1.x installation to the 6.2 schema is done through the external migration service, not from this screen — see Migrating from 6.1.x.
Database Tools
Lists every installed #__joomleague_* table together with its current row
count. From here you can:
- Export one or more selected tables to a SQL script (in the same format
Data Importaccepts). - 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).