JoomLeague 6.2 development documentationNot compatible with the JoomLeague 6.1.x component. Use a clean test installation.

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 EXISTS for a #__joomleague_... table
  • CREATE [UNIQUE] INDEX on a #__joomleague_... table
  • INSERT INTO a #__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:

  1. Migration batch history — every row previously recorded in this installation's #__joomleague_migration_batch table, newest first.
  2. 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 Import accepts). 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 #__assets for 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.

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_limit and max_execution_time ini settings.
  • Whether the tmp, log and component cache directories are writable.
  • Whether demo-reset mode is enabled (controlled by the JOOMLEAGUE_ALLOW_DEMO_RESET server environment variable — not a setting you'll normally see turned on outside of a demo installation).