figbellDownload
Tabliva: Schema tool

Your database schema, as readable code.

Tables, columns and relationships are written in a plain language; an ER diagram is drawn live beside them, and every change made in the diagram is written back to the code. Tabliva shows problems in the schema, suggests normalization and generates the SQL and the versioned migration file that bring a database to the state in the code. PostgreSQL, MySQL / MariaDB and SQLite.

$14.99One-time purchase14-day refund

Tabliva screenshot: workspace with sample content

Key features

A readable schema language
Tables, logical types, primary and foreign keys (->), indexes (partial and expression indexes), checks and enums are written in .tabliva files. Dialect-specific details are added with annotations (@postgres(type: "jsonb")); views, triggers and functions with raw sql blocks. The editor has syntax highlighting, completion and find.
Two-way ER diagram
The diagram updates as you type; on a syntax error the last valid state stays and the error is shown with its line. Adding, renaming or deleting tables, columns, relationships and indexes, or changing a type in the diagram rewrites only the relevant line of code; comments are kept. The layout is kept in a separate file (diagram.tabliva-layout.json).
Problems: 55 rules
Keys, missing foreign key suggestions with a confidence level, types (e.g. float for money), indexes, duplicated data, naming, structure and dialect compatibility. Every problem has a plain explanation and a fix; safe fixes can be applied all at once. Ignoring a problem or turning a rule off is written to the kurallar.tabliva file.
Normalization
Functional dependencies are declared in code with a depends line or suggested from column names. For each table, the steps from 1NF to BCNF, fixes with a before / after preview (move to another table, new table, child table, deliberate copy) and data migration SQL for the dialect are shown.
Change plan and migration files
The code is compared with a target (migrations folder, snapshot; on the desktop, a live database). Renames are detected; each step is labelled with risks such as data loss, table rewrite or locking. SQL is generated for PostgreSQL, MySQL / MariaDB and SQLite; the migration file is written to the migrations/ folder with a dated name and its checksum is added to tabliva.sum.
Import an existing schema
SQL dumps (pg_dump, mysqldump, SQLite .schema or hand-written CREATE TABLE), DBML and another Tabliva project are read; one file per table or a single file can be chosen. Only the schema is taken; INSERT and COPY lines are skipped. On the desktop, the schema can also be read directly from a database.

Data processing and privacy

Tabliva keeps project files on this device (in the browser's IndexedDB storage or in the connected folder) and sends them to no server. Imported SQL and DBML files are read on the device. A live database is reached only in the desktop application, only when you connect, directly from this computer; the schema and queries do not pass through FigBell. Passwords you choose to save are stored encrypted in the operating system's keychain and are not included in backups or exports.

Get Tabliva

Try it in the browser without installation; for continued use, purchase the version for macOS, Windows or Linux.