Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History

README.md

Outline

Tabularis Demo Stack

A self-contained Docker Compose stack that spins up MySQL, PostgreSQL, and SQL Server, each pre-loaded with English seed data so you can explore Tabularis features end to end.

What's inside

Engine Port Databases Theme
MySQL 8.4 3306 tabularis_demo, blog_demo, perf_demo HR/e-commerce + blog CMS + wide-table perf
PostgreSQL 16 5432 tabularis_demo, analytics_demo, perf_demo HR/e-commerce + web analytics (JSONB) + wide-table perf
SQL Server 2022 1433 tabularis_demo, finance_demo HR/e-commerce + accounting

tabularis_demo is the same logical schema on all three engines (departments, employees, products, customers, orders, order_items) — useful for testing the showcase notebook against any driver. The second database per engine highlights features specific to that ecosystem.

perf_demo — wide-table scroll stress test

On MySQL and PostgreSQL the perf_demo database holds a single wide_table with 50 columns × 50 000 rows (a mix of int, bigint, decimal, double, varchar, text, date, datetime, boolean and JSON/JSONB columns). It reproduces slow-scroll reports with many columns/rows so DataGrid virtualization and memoization can be profiled — open perf_demo.wide_table and scroll both axes; it should stay fluid. This is a heavy seed, so the first container boot takes a little longer. The SQL is generated by generate-perf-sql.py (edit there and re-run to change the column/row counts).

Prerequisites

  • Docker Desktop or Docker Engine 24+ with the Compose plugin
  • ~2 GB free disk space for the three image layers and volumes
  • On Apple Silicon: Rosetta 2 enabled (SQL Server runs under linux/amd64)

Quick start

cd demo
docker compose up -d

First boot takes ~60 seconds — the SQL Server sidecar (tabularis-mssql-init) waits for the server, then runs the init scripts via sqlcmd. MySQL and PostgreSQL run their init scripts automatically on first launch.

Check everything is healthy:

docker compose ps
docker compose logs -f mssql-init   # confirm SQL Server seeding succeeded

Tear down (preserve volumes):

docker compose down

Wipe all data and start fresh:

docker compose down -v

Credentials

All three servers share the same password for simplicity:

Engine Host Port User Password
MySQL 127.0.0.1 3306 root Tabularis_Demo_2026!
PostgreSQL 127.0.0.1 5432 postgres Tabularis_Demo_2026!
SQL Server 127.0.0.1 1433 sa Tabularis_Demo_2026!

The password meets SQL Server's complexity requirements; do not weaken it without updating docker-compose.yml accordingly.

Importing the connections into Tabularis

Open Tabularis → ConnectionsImport and pick connections.json.

This adds a Tabularis Demo (Docker) group with pre-configured connections:

  • Demo · MySQL — exposes tabularis_demo, blog_demo and perf_demo
  • Demo · PostgreSQL — exposes tabularis_demo
  • Demo · PostgreSQL (analytics_demo) — the JSONB analytics database
  • Demo · PostgreSQL (perf_demo) — the wide-table scroll stress test

SQL Server is not in connections.json. Tabularis core currently ships drivers for MySQL, PostgreSQL, and SQLite only; the official plugin registry does not yet include a SQL Server plugin. The MSSQL instance is still useful for connecting external clients (Azure Data Studio, DBeaver, sqlcmd) and for testing future plugin work.

Running the showcase notebook

Once Demo · MySQL is connected and selected on tabularis_demo, import notebook-showcase.tabularis-notebook from the Notebooks panel and press Cmd/Ctrl + Shift + Enter to run all cells.

Folder layout

demo/
├── docker-compose.yml
├── connections.json                # Importable into Tabularis
├── generate-perf-sql.py            # Regenerates the 06-perf-wide.sql seeds
├── notebook-showcase.tabularis-notebook
├── init/
│   ├── mysql/
│   │   ├── 01-tabularis-demo.sql
│   │   ├── 02-blog-demo.sql
│   │   ├── ...
│   │   └── 06-perf-wide.sql        # 50 cols x 50k rows (perf_demo)
│   ├── postgres/
│   │   ├── 01-tabularis-demo.sql
│   │   ├── 02-analytics-demo.sql
│   │   ├── ...
│   │   └── 06-perf-wide.sql        # 50 cols x 50k rows (perf_demo)
│   └── mssql/
│       ├── run-init.sh             # Sidecar entrypoint
│       ├── 01-tabularis-demo.sql   # Idempotent
│       └── 02-finance-demo.sql     # Idempotent
└── README.md

Troubleshooting

SQL Server fails to start on Apple Silicon. Ensure Rosetta is enabled in Docker Desktop → Settings → General → "Use Rosetta for x86_64/amd64 emulation". The platform: linux/amd64 line in docker-compose.yml forces amd64.

Port already in use. Stop any local MySQL/PostgreSQL/MSSQL instance, or edit the ports: mapping in docker-compose.yml (left side is the host port).

Need to re-run SQL Server init. The sidecar (mssql-init) only runs on up. If you change the SQL scripts, run docker compose up -d mssql-init again — the scripts are idempotent and safe to re-execute.

Connection import does nothing. Tabularis merges connections by id; if you previously imported the file and want to reset, delete the existing "Demo ·" connections in Tabularis first, then re-import.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.