v1.1

Schema Documentation

Make your database self-documenting with built-in descriptions and automatic DDL history.

Back to specs

Why schema documentation matters

In SMB environments without a dedicated DBA, schema knowledge often lives only in developers' heads. When someone leaves or a new team member joins, understanding the database becomes guesswork. Kamiina makes the database self-documenting — any team member can understand the schema by querying the database itself, without external wikis or stale documentation.

DESCRIBE command

Add descriptions to existing tables and columns with a single SQL command. Descriptions are stored durably and queryable via System.Tables and System.Columns.

DESCRIBE TABLE Orders 'Customer order data' DESCRIBE COLUMN Orders.Status 'Current processing status'

Inline DESCRIPTION in CREATE TABLE

Document your schema at creation time. Descriptions are part of the DDL, not a separate step.

CREATE TABLE Orders ( Id INT NOT NULL PRIMARY KEY DESCRIPTION 'Unique order identifier', CustomerName TEXT NOT NULL DESCRIPTION 'Name of the ordering customer', Status TEXT NOT NULL DESCRIPTION 'Current processing status', Total DOUBLE DESCRIPTION 'Order total amount' ) WITH DESCRIPTION 'Customer order records'

DOCUMENT DATABASE

Generate a complete schema documentation result set with a single command. Returns every table, column, type, and description in the database.

DOCUMENT DATABASE

System.SchemaHistory

The 7th system table, System.SchemaHistory, automatically tracks all DDL changes — CREATE TABLE, ALTER, DROP, DESCRIBE — with timestamps and details. Zero configuration required. You always know who changed what and when.

API access

ADO.NET (Kamiina.Data):

connection.SetTableDescription("Orders", "Customer order data"); connection.SetColumnDescription("Orders", "Status", "Current processing status"); connection.GetSchemaHistory();

EF Core (Kamiina.EntityFrameworkCore):

context.SetTableDescription<Order>("Customer order data"); context.SetColumnDescription<Order>( o => o.Status, "Current processing status");

Business value

  • Onboarding: New developers understand the schema by querying the database, no external docs needed.
  • Compliance: Automatic DDL change history provides an audit trail for schema changes.
  • Living documentation: Descriptions travel with the database, never going stale in a separate wiki.