⚠️ WARNING — TESTING ONLYThis project is intended strictly for local testing/benchmarking. Do NOT deploy or use in production.
This project provides a user interface to execute DDL statements, detect created tables.
And perform bulk data insertion for testing high-volume queries.
- DDL panel in the UI
- Schema & Table inspector (table dropdown + column metadata)
- Bulk insertion controls: Rows, Batch size, Concurrency, plus client‑side chunking & progress bar
- Theme toggle: Dark / Light
- MySQL only
- Clone this repository.
- Navigate to the project directory.
- Start the application using Docker Compose:
docker-compose up --build
- Default MySQL Configuration
- Version:
8.0 - Port:
3306 - Database:
playground - Username:
root - Password:
root - You can change these credentials in the
.envfile.
- Version:
- Default MySQL Configuration
- Access the application at: http://localhost:8080
-
Execute DDL
- Open the Execute DDL panel, paste SQL (you can separate multiple statements with
;), then click Execute DDL. - On success, the app refreshes the schema so new tables appear in the dropdown.
- Open the Execute DDL panel, paste SQL (you can separate multiple statements with
-
Schema & Table Selection
- Use the Tables dropdown (and Refresh) to pick a table.
- The Selected table columns grid shows name/type/nullable/PK/AUTO/default.
- Make sure your JDBC URL targets the right schema (see Prerequisites).
-
Per‑column generator rules
- Each column renders as a card: left = column meta, right = generator dropdown + options.
- Click Apply auto mapping to pre‑fill reasonable generators based on column name/type.
- Supported generators (UI options):
AUTO— omit from INSERT (use DB auto‑increment/default).const— fixed value (e.g., status =ACTIVE).name— human‑readable names.email— emails (optional domain).lorem— text (words/max length).int— integer range.decimal— decimal range withscale.datetime— random timestamp within a range.pick— pick from a list; optional weights bias the probability (weights length must match values).
-
Bulk Data Insertion
- Target table defaults to your selection.
- Set Rows to insert, Batch size, Concurrency.
- Enable Progress (client‑side) to split into multiple requests and show a progress bar and live rows/s.
- Click Run bulk insert to start.
-
Theme
- Use the Dark/Light toggle at the top‑right.