Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feat]: UI actions to create a database and a schema on a server-based connection

Open
#839 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
mysql, postgresql, typescript
Domain
database

Research direction

Start by tracing the existing database and schema creation workflows in the UI, then inspect the sidebar and connection Databases tab entry points. The issue names no source files or tests, so first identify how those views invoke database actions and how server-based drivers execute DDL. Done means users can create a database or schema through the UI, with a new database added to the connection's selection.

Written by the indexing model from the issue text.

Description

feature request
Is your feature request related to a problem? Please describe.

There's no UI-based way to create a new database or a new schema on a server-based connection (PostgreSQL, MySQL) — the only way is to hand-write CREATE DATABASE .../CREATE SCHEMA ... in a SQL console. Confirmed while manually testing PR #822 (multi-database PostgreSQL support): to test importing a dump into a fresh database, I had to:

  1. Open a console and run CREATE DATABASE tabularis_pr822_demo_restored; by hand.
  2. Add it to the connection's "Databases" tab selection so it appears in the sidebar tree.
  3. Open another console scoped to the new database and run CREATE SCHEMA store; by hand, since the dump file's CREATE TABLE statements assume the schema already exists.

Tabularis already has a dedicated creation workflow for SQLite (#131, PR #523 — "New SQLite Database": create file + open connection), but nothing equivalent exists for creating a database or a schema on a server-based driver. Both a database and a schema are the same class of gap — a structural container that every other object (table, view, trigger) can be created through a modal for, but that itself can only be created by hand-writing SQL — so filing them together rather than as two separate requests.

Describe the solution you'd like
  • A "New Database" action (e.g. next to "DATABASES" in the sidebar, or in the connection's Databases tab) that prompts for a name and runs CREATE DATABASE for the connection's driver, then adds it to the selection automatically.
  • A "New Schema" action (e.g. next to "SCHEMAS" in the sidebar, or on a database node in the nested multi-db tree) that prompts for a name and runs CREATE SCHEMA.

Both are thin wrappers around a single DDL statement — no per-driver dialect complexity like the table/view/trigger modals need to handle.

Additional context

Related: #131 (SQLite-specific database creation, a different mechanism — file-based, not CREATE DATABASE).

Dominant language
TypeScript
Stars
5.1k
Forks
335
Avg merge
1d 7h
Merged PRs (30d)
248

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from TabularisDB/tabularis

All issues in TabularisDB/tabularis

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.