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

  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.

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 Import accepts).
  • 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).