RaisDBRaisDB
Connection Manage

Visual Schema Designer

Create and alter tables, columns, indexes, and foreign keys visually — RaisDB generates the correct DDL.

🔒 Pro feature. Table creation and alterations are gated to Pro. Preview DDL is free.

Entry points

New table

Right-click on a schema / database → New Table.

Edit existing table

Right-click on a table → Edit Table Structure (or click the pencil-ruler icon in the data viewer toolbar, or double-click an ER-diagram node).

Columns tab

A drag-and-drop list of columns. Per-column controls:

FieldNotes
TypeEngine-aware picker — only valid types for the selected engine
LengthShown where the type accepts a length
NULL / PK / UQ / AIToggleable per row
DefaultFor non-auto-increment columns
Charset / CollationMySQL family only
CommentPer-column

Reordering

Drag-to-reorder works only when creating a new table, or on the MySQL dialect (it's the only family that supports column ordering via ALTER ... MODIFY COLUMN). Other engines ignore reorders during alter.

Indexes tab

Add primary / unique / plain / composite. Pick columns from a dropdown; column order matters for composite indexes.

Foreign keys tab

Pick target table + column from dropdowns. Choose RESTRICT / CASCADE / SET NULL / NO ACTION for ON DELETE / ON UPDATE where the target engine supports it.

DDL preview

A read-only Monaco SQL pane shows the DDL that will run. It's regenerated live as you change anything in the design.

Where the DDL comes from

Every engine delegates to sqlproc::ddl::create_table / alter_table with its DialectSpec preset. So the SQL is dialect-correct without you selecting a dialect.

Save

New table

Calls db_create_table — runs the previewed DDL.

Existing table

Computes a TableDiff and runs db_alter_table. Multi-statement alters (e.g. SQLite's rebuild-and-copy flow) are handled automatically.

Other

Charset / Collation / Engine / Comment (table-level)

A settings popover exposes these at the table level on MySQL family.

Enum value lists

Not supported in the designer — the TableSettings popover does not expose per-column enum values. Define enums as text + a check or via SQL if you need them.

On this page